我的ComboBox
里面有数字。
如果您选择数字" 1"它将打开以下文本框:
txt_user1 \ txt_email1 \ txt_tel1
如果您选择数字" 2"它将打开以下文本框:
txt_user1 \ txt_email1 \ txt_tel1
txt_user2 \ txt_email2 \ txt_tel2
等等......
当我单击“确定”按钮时,我想验证文本框中的所有字段是否已填充(至少一个字母或一个数字)
我尝试做这样的事情:(使用switch语句)
public void button2_Click_3(object sender, EventArgs e)
{
switch (comboBox1.Text)
{
case "1":
if (!string.IsNullOrWhiteSpace(txt_user1.Text || txt_email1.Text))
{
MessageBox.Show("can't continue");
}
break;
case "2":
.........
}
}
但它不起作用。 这样做的正确方法是什么?
答案 0 :(得分:2)
您签入的if
声明不正确
if (!string.IsNullOrWhiteSpace(txt_user1.Text || txt_email1.Text))
应该是
if (string.IsNullOrWhiteSpace(txt_user1.Text) || string.IsNullOrWhiteSpace(txt_email1.Text))
答案 1 :(得分:0)
另一种方法是检查所有可见文本框是否都有值。像
这样的东西using System.Linq;
public void button2_Click_3(object sender, EventArgs e)
{
bool invalid = this.Controls.OfType<TextBox>()
.Where(t => t.Visible)
.Any(t => string.IsNullOrWhiteSpace(t.Text);
if (invalid)
MessageBox.Show("can't continue");
}