Vb.net VB组合框需要2次鼠标点击来选择索引?

Vb.net VB组合框需要2次鼠标点击来选择索引?,vb.net,combobox,Vb.net,Combobox,由于某种原因,我在代码中使用了这个组合框,当我运行程序时,它不会通过单击鼠标更改所选索引。相反,我必须再次选择组合框的下拉列表,然后选择索引。你知道这里发生了什么吗?这是我的代码,我已经修改了好几个小时了 Public Class Form1 'Mod-level variable Dim TransactionList As New List(Of Transaction) Private Sub Form1_Load(sender As Object, e As E

由于某种原因,我在代码中使用了这个组合框,当我运行程序时,它不会通过单击鼠标更改所选索引。相反,我必须再次选择组合框的下拉列表,然后选择索引。你知道这里发生了什么吗?这是我的代码,我已经修改了好几个小时了

Public Class Form1
    'Mod-level variable
    Dim TransactionList As New List(Of Transaction)

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        Me.Text = "Mike Smith's Bank Account"
        Lb1.Visible = False
        Lb2.Visible = False
        Lb4.Visible = False
        Tb1.Visible = False
        Tb2.Visible = False
        SubmitTransactionButton.Visible = False
        TransactionListBox.Visible = False
    End Sub

    Private Sub Cb1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Cb1.SelectedIndexChanged
        If Tb1.Text = "" Then
            Tb1.Text = "0.00"

        ElseIf Cb1.Text = "" Then
            Lb4.Visible = False
            LbAction.Visible = False
            Lb1.Visible = False
            Lb2.Visible = False
            Tb1.Visible = False
            Tb2.Visible = False
            TransactionListBox.Visible = False
            SubmitTransactionButton.Visible = False

        ElseIf Cb1.Text = "Credit" Then
            Lb4.Visible = False
            LbAction.Visible = False
            Lb1.Visible = True
            Lb2.Visible = True
            LbAction.Visible = False
            Tb1.Visible = True
            Tb2.Visible = True
            TransactionListBox.Visible = False
            Lb1.Text = "Enter Credit Amount"
            Lb2.Text = "Describe the Income"
            SubmitTransactionButton.Visible = True

        ElseIf Cb1.Text = "Debit" Then
            LbAction.Visible = False
            Lb1.Visible = True
            Lb4.Visible = False
            Lb2.Visible = True
            LbAction.Visible = False
            Tb1.Visible = True
            Tb2.Visible = True
            TransactionListBox.Visible = False
            Lb1.Text = "Enter Debit Amount"
            Lb2.Text = "Describe the Expense"
            SubmitTransactionButton.Visible = True

        ElseIf Cb1.Text = "Display Transactions" Then
            TransactionListBox.Visible = True
            Lb4.Visible = False
            LbAction.Visible = False
            Lb1.Visible = False
            Lb2.Visible = False
            Tb1.Visible = False
            Tb2.Visible = False
            SubmitTransactionButton.Visible = False


            For Each transaction In TransactionList
                TransactionListBox.Items.Add(
                  String.Format("{0}: {1:C}. {2}",
                                transaction.Type,
                                transaction.Amount,
                                transaction.Description))
            Next

        ElseIf Cb1.Text = "Display Balance" Then
            Lb4.Visible = True
            Lb1.Visible = False
            Lb2.Visible = False
            LbAction.Visible = False
            Tb1.Visible = False
            Tb2.Visible = False
            TransactionListBox.Visible = False
            Lb4.Text = "Current Balance: $"


        End If
    End Sub


    Private Sub SubmitTransactionButton_Click(sender As Object, e As EventArgs) Handles SubmitTransactionButton.Click
        Dim transactionTypeString As String = Cb1.Text
        Dim transactionDescriptionstring As String = Tb2.Text
        Dim transactionAmountDecimal As Decimal

        If Tb1.Text IsNot "" Then
            'Tb1.Text = "0.00"
            Tb2.Text = ""
            Cb1.Text = ""
            Lb1.Visible = False
            Lb2.Visible = False
            Tb1.Visible = False
            Tb2.Visible = False
            SubmitTransactionButton.Visible = False
        End If

        Try
            transactionAmountDecimal = Decimal.Parse(Tb1.Text)
            TransactionList.Add(New Transaction(
                              transactionTypeString,
                              transactionAmountDecimal,
                              transactionDescriptionstring))

        Catch FormatExceptionParameter As FormatException
            transactionAmountDecimal = 0D

        End Try
    End Sub
End Class


Public Class Transaction
    Public Sub New(type As String, amount As Decimal, description As String)
        Me.Type = type
        Me.Amount = amount
        Me.Description = description

        If Me.Type = "Credit" Then
            Me.Amount *= -1
        End If

    End Sub

    Public Property Type As String
    Public Property Amount As Decimal
    Public Property Description As String
End Class

此外,此程序不完整,但这只是一个困扰我一段时间的问题。您是否查看了
SelectionChangeCommitted
事件?它只是在每次新运行后第一次尝试更改索引时才这样做,还是每次尝试更改索引都需要再次单击?什么是
tb1
及其初始值是什么?它仅在每次新运行后第一次尝试更改索引时才执行此操作,是的。tb1是文本框1,其初始值为“'