2017-02-05 1 views
0

J'ai un formulaire avec une zone de texte, en appuyant sur entrer un autre formulaire2 est ouvert. Comment puis-je supprimer le son lorsque Form2 est ouvert?Comment supprimer le son lors de l'ouverture d'une boîte de dialogue dans 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

son qui arrive quand vous appuyez sur une touche ou lorsque le formulaire est ouvert? – Codexer

+0

Remplacez plutôt ProcessCmdKey et saisissez la touche Entrée. Je pense que cela fonctionnera. Tu ne devrais vraiment pas faire ça. Entrez dans une zone de texte crée une nouvelle ligne ou n'est pas valide. Il ne devrait pas ouvrir une nouvelle forme par magie. –

Répondre

-1

Vous pouvez le faire en modifiant le code légèrement et en le déplaçant dans l'événement KeyPress au lieu de 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

Et comment cela est-il différent du code OP? La seule différence est que vous avez omis 'SuppressKeyPress' et un autre gestionnaire, pouvez-vous répliquer le problème OP et vérifier que la solution proposée fonctionne? – Codexer

+0

@Zaggler. En fait, c'est différent. C'est dans l'événement Keypress qui, pour une raison quelconque, ne provoque pas le son ding. Le code de l'OP était dans l'événement KeyDown et le fait ding lorsque le showdialog est exécuté. Il résout également la question de l'OP basée sur son code. –