0

私は現在、VB.net で Web ブラウザーを構築していますが、e.SuppressKeyPress = True作業に苦労しています。ユーザーが Enter キーを押して目的のページに移動できるように、URL バーでこのコードを使用しています。私のコード全体:

    Private Sub AddressBar_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles AddressBar.KeyUp
    On Error Resume Next
    If e.KeyCode = 13 Then
        Dim textArray = AddressBar.Text.Split(" ")
        If (AddressBar.Text.Contains(".") = True And AddressBar.Text.Contains(" ") = False And AddressBar.Text.Contains(" .") = False And AddressBar.Text.Contains(". ") = False) Or textArray(0).Contains(":/") = True Or textArray(0).Contains(":\") Then
            Navigate(AddressBar.Text)
        Else
            Navigate("http://www.google.com/search?q=" + AddressBar.Text)
        End If
        WebControl.Focus()
        e.SuppressKeyPress = True
    End If
End Sub

を複数の異なる場所に移動しようとしましたe.SuppressKeyPress = Trueが、どれも機能しません。助言がありますか?

4

1 に答える 1

0

KEYUP イベントでキーを抑制することはできません。キーは既に処理されています。このオプションを提供することさえ、マイクロソフトはかなりばかげています。このコードをサンプル アプリで試して、結果を比較してください

Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
    If e.KeyCode = Keys.A Then
        e.SuppressKeyPress = True
    End If
End Sub
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
    If e.KeyChar = "b" Then
        e.Handled = True
    End If
End Sub
Private Sub TextBox1_KeyUp(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyUp
    If e.KeyCode = Keys.C Then
        e.SuppressKeyPress = True
    End If
End Sub
于 2013-10-24T16:35:09.393 に答える