.net 尝试验证我的组合框时遇到问题
我已经决定给我的组合框添加一些验证,我试图实现的是确保用户只能输入组合框中的字段,但我现在遇到的问题是,如果用户单击组合框,没有输入任何内容,并试图离开组合框,则会出现消息框.net 尝试验证我的组合框时遇到问题,.net,vb.net,vb.net-2010,.net,Vb.net,Vb.net 2010,我已经决定给我的组合框添加一些验证,我试图实现的是确保用户只能输入组合框中的字段,但我现在遇到的问题是,如果用户单击组合框,没有输入任何内容,并试图离开组合框,则会出现消息框 Private Sub Combobox1_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles Combobox1.Validating If Combobox1.Items.Contains(Combob
Private Sub Combobox1_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles Combobox1.Validating
If Combobox1.Items.Contains(Combobox1.Text) = False Then
e.Cancel = True
End If
End Sub
Private Sub Combobox1_Leave(sender As Object, e As System.EventArgs) Handles Combobox1.Leave
If Combobox1.Items.Contains(Combobox1.Text) = False Then
Combobox1.Select()
MessageBox.Show("select item from combobox")
End If
End Sub
如前所述,编码确实有效,但我试图确保如果用户未在组合框中输入任何内容,消息框不会出现。根据您的评论,我认为您需要做的只是添加一个空字符串检查:
Private Sub ComboBox1_Validating(ByVal sender As Object, ByVal e As CancelEventArgs) Handles ComboBox1.Validating
If ComboBox1.Items.Contains(ComboBox1.Text) = False Then
e.Cancel = (ComboBox1.Text <> String.Empty)
End If
End Sub
Private Sub ComboBox1_Leave(ByVal sender As Object, ByVal e As EventArgs) Handles ComboBox1.Leave
If Not ComboBox1.Items.Contains(ComboBox1.Text) Then
If ComboBox1.Text <> String.Empty Then
ComboBox1.Select()
MessageBox.Show("select item from combobox")
End If
End If
End Sub
Private子ComboBox1\u验证(ByVal sender作为对象,ByVal e作为CancelEventArgs)处理Combox1。验证
如果ComboBox1.Items.Contains(ComboBox1.Text)=False,则
e、 Cancel=(ComboBox1.Text String.Empty)
如果结束
端接头
私有子ComboBox1_Leave(ByVal发送方作为对象,ByVal e作为事件参数)处理Combox1.Leave
如果不是ComboBox1.Items.Contains(ComboBox1.Text),则
如果ComboBox1.Text String.Empty,则
ComboBox1.Select()
Show(“从组合框中选择项”)
如果结束
如果结束
端接头
使用以下代码:
Private Sub Combobox1_Leave(sender As Object, e As System.EventArgs) Handles Combobox1.Leave
If ComboBox2.SelectedIndex = -1 Then
MessageBox.Show("select item from combobox")
End If
End Sub
通常,将DropDownStyle设置为DropDownList可以防止出现这种问题。嗨,是的,我理解,但这并不完全是我想要的。正如你自己所说,代码是有效的。不确定您目前正在寻找什么帮助。好的,我的组合框中填充了数据-例如,组合框中包含字段奥迪宝马福特(作为行)因此,如果我输入Mercedez并在表单上选择另一个控件,它当前会失败,出现消息框,这非常好,但是如果我单击组合框,在组合框中不输入任何内容,并且我在表单上选择另一个控件,则消息框会在不应该出现的时候出现-因此,只有当出现错误时,消息框才会出现组合框中的文本,而不是组合框为空时的文本。