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 a item");
            txttea.Focus();
          }
4

4 回答 4

2

而不是&&你需要||的:

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

注意:问题与题目不符。

于 2013-02-03T06:39:11.447 回答
1

您的问题是如何验证TextBoxif 是empty还是white space

String.IsNullOrWhiteSpace Method如果您使用的是 .Net 3.5 或更高版本,最好的解决方法是使用

 if(string.IsNullOrWhiteSpace(txttea.Text) || 
    string.IsNullOrWhiteSpace(txtcoffee.Text))
          {
            MessageBox.Show("select a item");
            txttea.Focus();
            return;
          }
于 2013-02-03T07:33:28.870 回答
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();
 }
于 2013-02-03T06:50:43.870 回答
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
}

现在,关于比较空字符串,如果您想要在两者都为空时的消息:

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

另一方面,如果您想在 AT LEAST ONE 为空时收到消息:

if(this.txttea.Text == "" || this.txtcoffee.Text == "")
{
    MessageBox.Show("select a item");
    txttea.Focus();
}
于 2013-02-03T07:03:13.373 回答