如何比较两个文本框,如果两个文本框都是空的,如何在c#中打印消息框

时间:2013-02-03 06:36:25

标签: c#

我在这里比较两个文本框并尝试打印错误消息,如果两者都是空的

         int ina=int.Parse(txttea.Text);
         int inb = int.Parse(txtcoffee.Text);
         int inc=0, ind=0;
         if(this.txttea.Text=="" && this.txtcoffee.Text=="")
          {
            MessageBox.Show("select a item");
            txttea.Focus();
          }

4 个答案:

答案 0 :(得分:2)

而不是&&,你需要||行:

if(this.txttea.Text=="" && this.txtcoffee.Text=="")

注意:该问题与其标题不符。

答案 1 :(得分:1)

您的问题是如何验证TextBox如果为空空格

如果你在.Net 3.5或更高版本中使用String.IsNullOrWhiteSpace Method处理此问题的最佳方法

 if(string.IsNullOrWhiteSpace(txttea.Text) || 
    string.IsNullOrWhiteSpace(txtcoffee.Text))
          {
            MessageBox.Show("select a item");
            txttea.Focus();
            return;
          }

答案 2 :(得分:0)

如下所示,请编辑您的问题以符合下面提供的答案

 int ina=int.Parse(txttea.Text);
 int inb = int.Parse(txtcoffee.Text);
 int inc=0, ind=0;
 if(this.txttea.Text=="" || this.txtcoffee.Text=="")
 {
     MessageBox.Show("select an item");
     txttea.Focus();
 }

答案 3 :(得分:0)

使用int.Parse解析空字符串会给您一个例外。我的意思是:int.Parse("")会导致:Input string was not in a correct format.

要解决此问题,请改用TryParse

int ina;
int inb;
if (int.TryParse(txttea.Text, out ina) && int.TryParse(txtcoffee.Text, out inb))
{
    //Ok, more code here
}
else
{
    //got a wrong format, MessageBox.Show or whatever goes here
}

当然,你也可以单独测试它们[首先是ina然后是inb,反之亦然]:

int ina;
if (int.TryParse(txttea.Text, out ina))
{
    int inb;
    if (int.TryParse(txtcoffee.Text, out inb))
    {
        //Ok, more code here
    }
    else
    {
        //got a wrong format, MessageBox.Show or whatever goes here
    }
}
else
{
    //got a wrong format, MessageBox.Show or whatever goes here
}

现在,关于比较空字符串,如果你想要BOTH为空时的消息:

if(this.txttea.Text == "" && this.txtcoffee.Text == "")
{
    MessageBox.Show("select a item");
    txttea.Focus();
}

另一方面,如果您想要至少一个空的消息:

if(this.txttea.Text == "" || this.txtcoffee.Text == "")
{
    MessageBox.Show("select a item");
    txttea.Focus();
}