private void btn_login_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txt_admname.Text.Trim()) || string.IsNullOrEmpty(txt_admpaw.Text.Trim()))
            {
                MessageBox.Show("文本框不能为空", "提示");
            }
            else if (string.IsNullOrEmpty(txt_norname.Text.Trim()) || string.IsNullOrEmpty(txt_norpaw.Text.Trim()))
            {
                 MessageBox.Show("文本框不能为空", "提示");
            }
如何编写login窗体::
管理员用户名:               普通用户名:
管理员用户密码:            普通用户密码:我只输入管理员用户名和管理员用户密码时,就会提示我文“本框不能为空”!!!求教!!!上面的代码该如何编写??????

解决方案 »

  1.   

    用数据验证控件RequiredFieldValidator就可以轻松搞掂了
      

  2.   

    if(string.IsNullOrEmpty(txt_admname.Text.Trim()) || string.IsNullOrEmpty(txt_admpaw.Text.Trim())||string.IsNullOrEmpty(txt_norname.Text.Trim()) || string.IsNullOrEmpty(txt_norpaw.Text.Trim()))
    {
        MessageBox.Show("文本框不能为空", "提示");
    }
      

  3.   

    TextBox[] txt = new TextBox[] { txt_admname, txt_admpaw, txt_norname, txt_norpaw };
    if txt.Any(x => x.Text == "")
        MessageBox.Show("文本框不能为空", "提示");
      

  4.   

    我的login.cs的代码如下:
    要求是:
    管理员用户名:                普通用户名:
    管理员用户密码:            普通用户密码:
    只要有管理员用户名和密码  或者  普通用户名和密码就可以!!!!!! using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;using BLL;namespace 图书馆管理系统
    {
        public partial class login : Form
        {
            public login()
            {
                InitializeComponent();
            }
            private void btn_login_Click(object sender, EventArgs e)
            {
                if (string.IsNullOrEmpty(txt_admname.Text.Trim()) || string.IsNullOrEmpty(txt_admpaw.Text.Trim()))
                {
                      MessageBox.Show("文本框不能为空", "提示");
                }
                else if(string.IsNullOrEmpty(txt_norname.Text.Trim()) || string.IsNullOrEmpty(txt_norpaw.Text.Trim()))
                {
                      MessageBox.Show("文本框不能为空", "提示");
                }
                else
                {
                    using (BLLUser a = new BLLUser())
                    {
                        int tem = a.Check_admin_Exist(txt_admname.Text.Trim(), txt_admpaw.Text.Trim());
                        if (tem.Equals(-1))
                        {
                            MessageBox.Show(a.error, "提示");
                        }
                        else if (tem.Equals(0))
                        {
                            MessageBox.Show("帐户、密码或身份选择错误");
                        }
                        else if (tem > 0)
                        {
                           
                        }
                    }
                    using (BLLUser d = new BLLUser())
                    {
                        int Tem = d.Check_normal_Exist(txt_norname.Text.Trim(), txt_norpaw.Text.Trim());
                        if (Tem.Equals(-1))
                        {
                            MessageBox.Show(d.error, "提示");
                        }
                        else if (Tem.Equals(0))
                        {
                            MessageBox.Show("帐户、密码或身份选择错误");
                        }
                        else if (Tem > 0)
                        {                    }
                    }
                }
            }
            private void btn_cancel_Click(object sender, EventArgs e)
            {
                txt_clear();
            }
            /*****************************
            ** 作者: 
            ** 创建时间: 2013-10-27
            ** 修改者:
            ** 修改时间:
            ** 输入参数:         
            ** 输出参数:
            ******************************/
            #region###文本档清空函数
            private void txt_clear()
            {
                foreach (Control c in this.Controls)
                {
                    if (c is TextBox)
                    {
                        c.Text = "";
                    }
                }
            }
            #endregion
            /******************************
            ** 作者: 
            ** 创建时间: 2013-10-2
            ** 修改者:
            ** 修改时间:
            ** 输入参数:         
            ** 输出参数:
            ** 使用这个方法要注意调整TextBox的Index
            ******************************/
            #region###重载Form的ProcessDialogKey方法,按回车自动跳转光标
            protected override bool ProcessDialogKey(System.Windows.Forms.Keys aKey)
            {
                if (aKey == Keys.Enter)
                {
                    SendKeys.Send("{TAB}");
                    return true;
                }
                base.ProcessDialogKey(aKey);
                return false;
            }
            #endregion        private void login_Load(object sender, EventArgs e)
            {        }        private void label4_Click(object sender, EventArgs e)
            {        }
        }
    }
      

  5.   

                if ((txt_admname.Text.Trim() == "" && txt_norname.Text.Trim() == "") || (txt_admpaw.Text.Trim() == "" && txt_norpaw.Text.Trim() == "") )
                {
                    MessageBox.Show("账号或密码不能为空", "提示");
                    return;
                }
                
                if ((txt_admname.Text.Trim() != "" && txt_norname.Text.Trim() != "") || (txt_admpaw.Text.Trim() != "" && txt_norpaw.Text.Trim() != ""))
                {
                    MessageBox.Show("管理员与普通用户不能同时登录", "提示");
                    return;
                }
               
                if ((txt_admname.Text.Trim() != "" && txt_norpaw.Text.Trim() != "") || (txt_norname.Text.Trim() != "" && txt_admpaw.Text.Trim() != ""))
                {
                    MessageBox.Show("账号类型与密码类型匹配错误", "提示");
                    return;
                }//下面接着判断密码对错吧。做课设,加油哈。
      

  6.   


    写代码就好像说大白话,只要言行一致就是好代码。如果你“说一套做一套”——你描述的逻辑跟代码——那么你的代码自然就难以调试。你可以写 
            private void btn_login_Click(object sender, EventArgs e)
             {
                 if (!string.IsNullOrEmpty(txt_admname.Text.Trim()) && !string.IsNullOrEmpty(txt_admpaw.Text.Trim()))
                     DoIt();
                 else if(!string.IsNullOrEmpty(txt_norname.Text.Trim()) && !string.IsNullOrEmpty(txt_norpaw.Text.Trim()))
                     DoIt();
                 else
                 {
                       MessageBox.Show("文本框不能为空", "提示");
                 }或者你也可以把前两个条件和并未一个if判断。再强调一次,编程其实很简单,一定要言行一致。你话是怎么说的,代码就傻瓜化地与它保持高度一致。千万不要自作聪明地去另写一套代码。
      

  7.   

    如果你说“只要有管理员用户名和密码  或者  普通用户名和密码就可以”,这个逻辑明明是
        if(a && b)
          do
        else if (c && d)
          do
        else
          error
    而代码却要去写上另外一种    if(a || b)
            error
       if(c || d)
            error
       else
            do这就是“描述的逻辑跟你的代码不一致”,这就是聪明反而自找苦吃了。
      

  8.   

    9楼正解,LZ你没认真看String.IsNullOrEmpty方法吧,
    MSDN上对这个函数的返回值的描述是:
    如果 value 参数为 Nothing或空字符串 (""),则为 true;否则为 false。所以LZ你要么取反,要么把或改为与。