Vb.net 验证多个组合框/文本框是否有值

Vb.net 验证多个组合框/文本框是否有值,vb.net,Vb.net,我有一个winform,它有大约6个组合框和3个文本框。我还有一个按钮,它获取上述控件的值并将它们插入SQL。在插入数据之前,有没有比一堆嵌套的if/then语句更好的方法来验证控件是否都有值?这很快就会变丑。我试过用谷歌搜索这个答案,但我得到的ASPx答案太多了。我会考虑你的任何想法。我只是想找到一个更好的方法。谢谢你的帮助。我想这并不难 此代码显示关于第一个空文本框或组合框的错误消息。但如果需要,您可以轻松地修改以显示所有空组合框和文本框的错误消息 Private Function Vali

我有一个winform,它有大约6个组合框和3个文本框。我还有一个按钮,它获取上述控件的值并将它们插入SQL。在插入数据之前,有没有比一堆嵌套的if/then语句更好的方法来验证控件是否都有值?这很快就会变丑。我试过用谷歌搜索这个答案,但我得到的ASPx答案太多了。我会考虑你的任何想法。我只是想找到一个更好的方法。谢谢你的帮助。

我想这并不难

此代码显示关于第一个空文本框或组合框的错误消息。但如果需要,您可以轻松地修改以显示所有空组合框和文本框的错误消息

Private Function ValidateMyControls() As Boolean
    Dim allComboBoxes() As ComboBox = {ComboBox1, ComboBox2, ComboBox3} ' add all your comboboxes here
    Dim allTextBoxes() As TextBox = {TextBox1, TextBox2, TextBox3}      ' add all your textboxes here

    Dim emptyTB As TextBox = allTextBoxes.Where(Function(f) f.Text = "").FirstOrDefault
    Dim emptyCB As ComboBox = allComboBoxes.Where(Function(f) f.SelectedIndex = -1).FirstOrDefault
    If emptyTB IsNot Nothing Then
        MessageBox.Show("Please fill value in " & emptyTB.Name)
        Return False
    ElseIf emptyCB IsNot Nothing Then
        MessageBox.Show("Please select a value in dropdown " & emptyCB.Name)
        Return False
    Else
        ' All set to go!
        Return True
    End If
End Function

为什么不将相同类型的所有控件分组到一个数组中,这样就可以轻松地循环它们,并通过将它们应用到数组中来直接设置所有控件的属性。这非常有效。如果我不知道如何使它适用于所有组合/文本,我可能会在这里发帖。非常感谢你的帮助。我真的很感激。