2012-09-16 2 views
4

vb.net에서 빠른 웹 브라우저를 만들었습니다. 입력을 누르면 textbox1의 웹 페이지로 이동합니다. 유일한 것은 입력을 누를 때마다 경고음이 울리는 것입니다. e.Handled = True를 사용하여 시도했지만 아무 것도하지 않았습니다. 여기에 내가 e.Handled 성가신 경고음이 사라질 것을 만들었을 것입니다 생각의 키를e.Handled가 VB.net 2010에서 작동하지 않습니다

Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown 

    If e.KeyCode = Keys.Enter Then 
     e.Handled = True 
     WebBrowser1.Navigate(TextBox1.Text) 
    End If 

End Sub 

내 코드는하지만 않았습니다.

+0

내비게이션이 제거되면 "삐"소리가납니다. (예 : e-Handled a red-herring?) –

+0

아니요, 탐색을 제거해도 경고음이 계속 발생합니다. 내가 입력을 눌렀을 때 삐 소리가 멈추는 방법이 필요했고, 많은 사이트와 포럼에서 e.Handled = True를 사용한다고했습니다. – WillumMaguire

답변

6

KeyEventArgs 원하는 속성이 Handled이 아니라 SuppressKeyPress입니다. 최초의 MSDN 링크에서 즉

Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown 
    If e.KeyCode = Keys.Enter Then 
     e.SuppressKeyPress = True 
     WebBrowser1.Navigate(TextBox1.Text) 
    End If 

End Sub 

: 취급

는 윈도우 폼에서 다른 컨트롤에 의해 다르게 구현됩니다. 네이티브 Win32 컨트롤의 하위 클래스 인 TextBox와 같은 컨트롤의 경우 키 메시지가 기본 네이티브 컨트롤로 전달되어서는 안된다는 의미로 해석됩니다. TextBox에서 Handled를 true로 설정하면 해당 컨트롤은 키 누르기 이벤트를 기본 Win32 텍스트 상자 컨트롤로 전달하지 않지만 사용자가 입력 한 문자는 계속 표시합니다.

현재 컨트롤에서 키 누르기를받지 않으려면 SuppressKeyPress 속성을 사용하십시오.

+0

감사합니다. 경고음없이 완벽하게 작동합니다. – WillumMaguire

관련 문제