0
 Private Sub AccountType_KeyDOWN(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
        If e.KeyCode = Keys.Return Then
            ProcessTabKey(True)
        End If
    End Sub
 Private Sub anytextbox_Enter(sender As Object, e As EventArgs) Handles Twitter.Enter, Email.Enter, PhoneNoOffice.Enter, PhoneNoHome.Enter, PhoneNoMobile.Enter, EName.Enter, AName.Enter, IDCode.Enter, ExpiryDate.Enter, BankAccount.Enter

        Dim txt As TextBox = DirectCast(sender, TextBox)
        stroldvalue = txt.Text

    End Sub

    Private Sub anytextbox_KeyDown(sender As Object, e As KeyEventArgs) Handles Twitter.KeyDown, Email.KeyDown, PhoneNoOffice.KeyDown, PhoneNoHome.KeyDown, PhoneNoMobile.KeyDown, EName.KeyDown, AName.KeyDown, IDCode.KeyDown, ExpiryDate.KeyDown, BankAccount.KeyDown
        Dim txt As TextBox = DirectCast(sender, TextBox)


        If e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Tab Then
            If txt.Text <> stroldvalue Then
                connectunauth()
                cmd = New SqlCommand("Insert into changes values(@id,@txtname,@oldval,@newval)", Variables.UnauthCon)
                cmd.Parameters.AddWithValue("@id", CustomerNo.Text)
                cmd.Parameters.AddWithValue("@txtname", txt.Name)
                cmd.Parameters.AddWithValue("@oldval", stroldvalue)
                cmd.Parameters.AddWithValue("@newval", txt.Text)
                cmd.ExecuteNonQuery()
                UnauthCon.Dispose()
                NOCHANGE = True
            End If
        End If
    End Sub

上記のコードでは、次のエラーに直面しています: 1 つのテキスト ボックスに入力すると、値が stroldvalue に保存されます。上記の変更後に Enter キーを押すと、form_keydown イベントが最初にトリガーされ、anytextbox_enter イベントが実行され、stroldvalue が次のテキスト ボックス値によって上書きされます。次に、テキストボックスのキーダウンイベントがトリガーされます。

フォームのキープレスイベントを試しましたが、キープレスイベントはコンボボックスでのエンターキーの押下をキャプチャしません。テキストボックスのキーダウンイベントの後にフォームのキーダウンがトリガーされるようにするにはどうすればよいですか。

4

0 に答える 0