2017-02-05 2 views
0

텍스트 상자가있는 양식이 있습니다. 다른 양식을 입력하면 양식 2가 열립니다. form2를 열 때 어떻게 소리를 억제 할 수 있습니까?vb.net에서 대화 상자를 열 때 소리를 억제하는 방법

Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown 
    If e.KeyCode = Keys.Enter Then 
     e.Handled = True 
     e.SuppressKeyPress = True 
     My.Forms.Form2.ShowDialog() 
    End If 
End Sub 
+0

양식을 열 때, 당신은 키를 누르거나 할 때 사운드가 어떻게됩니까? – Codexer

+0

대신 ProcessCmdKey를 무시하고 Enter 키를 처리하십시오. 나는 그것이 효과가있을 것이라고 생각한다. 당신은 정말로 이것을해서는 안됩니다. TextBox에 입력하면 새 줄이 만들어 지거나 잘못되었습니다. 마술처럼 새로운 양식을 열어서는 안됩니다. –

답변

-1

당신은 약간의 코드를 변경하고 KeyPress 이벤트로 이동하는 대신에서 KeyDown하여이 작업을 수행 할 수

Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyKeyPress 
    If e.KeyChar = ChrW(Keys.Enter) Then 
     e.Handled = True 
     My.Forms.Form2.ShowDialog() 
    End If 
End Sub 
+0

그리고 이것이 OP 코드와 어떻게 다른가요? 유일한 차이점은'SuppressKeyPress'와 다른 처리기를 빠뜨린 것입니다. OP 문제를 복제하고 제안 된 솔루션이 작동하는지 확인할 수 있습니까? – Codexer

+0

@Zaggler. 실제로 그것은 다릅니다. Keypress 이벤트에서 어떤 이유로 든 딩 소리가 나지 않습니다. OP의 코드는 KeyDown 이벤트에 있었고 showdialog가 실행될 때 딩하게됩니다. 또한 자신의 코드에 기초한 OP의 질문을 해결합니다. –

관련 문제