如果删除了组合框输入,则禁用按钮
Disable Button If Combox Input Deleted
在我的项目中,我有几个文本框输入和一些组合框,表单上可能有 2 个索引项。如果没有向两个文本框输入提供输入,我将在加载时禁用一个按钮,即使我删除任何文本,它也能很好地工作。但是,我在强制组合框以相同方式运行时遇到了问题。然而,这项工作:
Private Sub cboPickShirts_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboPickShirts.SelectedIndexChanged
InputCheck_3 = True
If cboPickShirts.SelectedIndex < 0 Then
InputCheck_3 = False
End If
If InputCheck_3 = False Then
btnInputResult.Enabled = False
ElseIf InputCheck_3 = True Then
btnInputResult.Enabled = True
End If
End Sub
我在 Public Module
中将 InputCheck_3
设置为全局变量。在表单加载时,我禁用了我的按钮,直到我 select 一个索引项目时它才会启用。如果输入并删除了任何组合框文本,将其保留为空或为空,我会努力让按钮再次禁用。关于我遗漏了什么或我可以添加什么以获得结果的任何想法?我想我需要一个变量或事件来通知更改(输入和删除文本)。
一行代码
btnInputResult.Enabled = If((cboPickShirts.SelectedIndex<0),False, True)
您遇到的问题是,当您从 ComboBox 中删除所选项目时,您的 SelectedIndexChanged
事件没有被触发。我会使用您的 TextBox 和 ComboBox 的 TextChanged 事件,并给它一个通用的处理程序并以这种方式检查它。像这样
Private Sub TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, cboPickShirts.TextChanged
EnableCheck()
End Sub
Private Sub EnableCheck()
btnInputResult.Enabled = (String.IsNullOrEmpty(TextBox1.Text) And String.IsNullOrEmpty(TextBox2.Text) And ComboBox1.SelectedIndex = -1)
End Sub
您还可以使用与文本框相同的方式检查组合框是否为 NullorEmpty。就目前而言,当文本不再匹配选择时,组合框将被启用。
在我的项目中,我有几个文本框输入和一些组合框,表单上可能有 2 个索引项。如果没有向两个文本框输入提供输入,我将在加载时禁用一个按钮,即使我删除任何文本,它也能很好地工作。但是,我在强制组合框以相同方式运行时遇到了问题。然而,这项工作:
Private Sub cboPickShirts_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboPickShirts.SelectedIndexChanged
InputCheck_3 = True
If cboPickShirts.SelectedIndex < 0 Then
InputCheck_3 = False
End If
If InputCheck_3 = False Then
btnInputResult.Enabled = False
ElseIf InputCheck_3 = True Then
btnInputResult.Enabled = True
End If
End Sub
我在 Public Module
中将 InputCheck_3
设置为全局变量。在表单加载时,我禁用了我的按钮,直到我 select 一个索引项目时它才会启用。如果输入并删除了任何组合框文本,将其保留为空或为空,我会努力让按钮再次禁用。关于我遗漏了什么或我可以添加什么以获得结果的任何想法?我想我需要一个变量或事件来通知更改(输入和删除文本)。
一行代码
btnInputResult.Enabled = If((cboPickShirts.SelectedIndex<0),False, True)
您遇到的问题是,当您从 ComboBox 中删除所选项目时,您的 SelectedIndexChanged
事件没有被触发。我会使用您的 TextBox 和 ComboBox 的 TextChanged 事件,并给它一个通用的处理程序并以这种方式检查它。像这样
Private Sub TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, cboPickShirts.TextChanged
EnableCheck()
End Sub
Private Sub EnableCheck()
btnInputResult.Enabled = (String.IsNullOrEmpty(TextBox1.Text) And String.IsNullOrEmpty(TextBox2.Text) And ComboBox1.SelectedIndex = -1)
End Sub
您还可以使用与文本框相同的方式检查组合框是否为 NullorEmpty。就目前而言,当文本不再匹配选择时,组合框将被启用。