Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击“如何使用MessageBox验证多个文本框”;下一个;?visual studio(c#Winforms)_C#_Winforms_Validation_Messagebox - Fatal编程技术网

单击“如何使用MessageBox验证多个文本框”;下一个;?visual studio(c#Winforms)

单击“如何使用MessageBox验证多个文本框”;下一个;?visual studio(c#Winforms),c#,winforms,validation,messagebox,C#,Winforms,Validation,Messagebox,我有一个表单,它包含16个jtextboxs和6个comboBoxes,我想一次验证所有这些,或者至少一次验证所有jtextboxs和所有comboBoxes。我已经这样做了,但问题是我使用了MessageBox作为对它们的验证,并且在单击“确定”或“取消”后,MessageBox会继续显示 这是我的密码: private void bunifuFlatButton1_Click(object sender, EventArgs e) { userform3 form3 = new user

我有一个表单,它包含16个
jtextboxs
和6个
comboBoxes
,我想一次验证所有这些,或者至少一次验证所有
jtextboxs
和所有
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();
         }
     }

有没有一种解决方案可以使
MessageBox
只显示一次?

一旦使用
MessageBox.Show()
,您可以添加一个中断语句(
break;
)来中断
foreach
循环。否则,您可以使用一个布尔值,一旦显示
消息框
,它将变为
。然后,仅当消息框
为false时才显示该消息框

当您循环时,似乎每次遇到空的jbox时都会显示该消息框。另一种方法是声明bool ShowMessage=false并遍历所有这些消息。如果发现其中任何一个为空,则在循环中将布尔值设置为true。然后,当循环结束时,if(ShowMessage==true)显示MessageBox。你能在留言板后面回来吗?只有当ShowMessage显示为false时,您才会显示表单。