单击“下一步”时,如何用一个消息框验证多个文本框?视觉工作室(c#Winforms)

时间:2019-07-09 17:59:11

标签: c# winforms validation messagebox

我的表格包含16个jtextboxes和6个comboBoxes,我想一次验证所有这些,或者一次验证至少所有jtextboxes并验证所有{{1 }}。我已经做到了,但是问题是我使用comboBoxes作为对所有这些用户的验证,并且MessageBox在单击“确定”或“取消”后一直显示。

这是我的代码:

MessageBox

有没有一种解决方法, private void bunifuFlatButton1_Click(object sender, EventArgs e) { userform3 form3 = new userform3(); var jtextboxes = new[] { jTextBox3, jTextBox4, jTextBox5, jTextBox6, jTextBox7, jTextBox8, jTextBox9, jTextBox10, jTextBox11, jTextBox12, jTextBox13, jTextBox14, jTextBox15, jTextBox16 }; var comboboxes = new[] { comboBox1, comboBox2, comboBox3, comboBox4, comboBox5, comboBox6 }; foreach(var jbox in jtextboxes) { foreach(var combo in comboboxes) { if (string.IsNullOrWhiteSpace(jbox.TextValue) && string.IsNullOrWhiteSpace(combo.Text)) { MessageBox.Show("some fields are empty"); } else { form3.Show(); } } 仅显示一次?

1 个答案:

答案 0 :(得分:2)

使用break;后,您可以添加一个break语句(foreach)以退出MessageBox.Show()循环。否则,您可以使用布尔值,一旦显示MessageBox,它就会变成true。然后仅在MessageBox时显示false