我在这里比较两个文本框并尝试打印错误消息,如果两者都是空的
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();
}
答案 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();
}