vb.net组合框与另一个组合框连接

时间:2016-04-06 08:02:52

标签: vb.net combobox

所以我需要以下代码中的帮助:

 Private Sub cbxkelas_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxkelas.SelectedIndexChanged
    Try
        Dim kel As String
        kel = cbxkelas.SelectedText.FirstOrDefault()
        If kel = "2" Or "4" Or "6" Then
            cbxsemes.SelectedItem = "Genap"
        Else
            cbxsemes.SelectedItem = "Ganjil"
        End If
        cbxsemes.Items.Clear()
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub

我试图获得cbxsemex(组合框)值取决于在cbxkelas(组合框)第一个字符的选择,但当我在cbxkelas选择“1psi2”时,它仍然在cbxsemes中显示“Genap”。

2 个答案:

答案 0 :(得分:1)

您已将Option Strict设为OFF 此设置允许使用类似于此行

的语法
 If kel = "2" Or "4" Or "6" Then

要传递,但在你的上下文中没有任何意义,因为该行被评估为

 If (kel = "2") Or ("4" Or "6") Then

并且,在Option Strict设置为OFF的情况下,会发生从字符串“4”和“6”到布尔值的自动转换。当然,这种转换会返回true作为结果(如果字符串为“0”,您将得到错误)

你的代码应该是

 If kel = "2" Or kel = "4" Or kel = "6" Then

所以,我的建议是将Option Strict更改为ON。可能在此之后,你的程序将无法正确编译,但它也会突出显示许多其他地方,如果你真的得到预期的结果,你应该仔细查看。

仍然不清楚为什么要从刚刚设置所选项目的同一个组合框中删除所有项目。

答案 1 :(得分:0)

你的病情必须改为

If kel = "2" Or kel = "4" Or kel = "6" Then