2013-10-24 4 views
0

В настоящее время я создаю веб-браузер в VB.net, и мне трудно с этим работать e.SuppressKeyPress = True. Я использую этот код в своей строке URL, чтобы пользователи могли нажать Enter и перейти к нужной странице. Весь мой код:Awesomium Browser Engine - Навигация

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 в нескольких разных местах, и ни один из них не работает. Какие-либо предложения?

+0

Есть ли причина, по которой вы делаете свой собственный браузер в эти дни? :) – Neolisk

+0

На самом деле, я делаю это только потому, что мне нечего делать. – Charles

+0

Присоединяйтесь к проекту с открытым исходным кодом и помогите разработать браузеры, такие как Google Chrome. Или любой другой проект с открытым исходным кодом. Или, если вам не нравится открытый исходный код, создайте приложение, которого там не было. Или улучшенная версия приложения, с которым вы работали. Сделайте свое исследование до этого, но держите его простым. Не пытайтесь начинать с перезаписи Visual Studio и так далее. Google - ваш друг. Переосмысление колеса - худшая инвестиция вашего времени. – Neolisk

ответ

0

Вы не можете подавить ключ в событии KEYUP, ключ уже обработан. Это довольно глупо от Microsoft, чтобы дать вам эту возможность. Попробуйте этот код в примере приложения и сравните результаты.

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 
+0

Я вижу, что я не могу этого сделать сейчас, есть ли способ избавиться от звука? Я использую исходный код «Веб-браузер», потому что в этом браузере используется функция пресечения нажатия клавиши. – Charles

+0

Что значит «есть ли способ избавиться от звука»? Какой звук? – Steve

+0

Когда вы нажимаете enter в текстовом поле, которое не является многострочным. – Charles

Смежные вопросы