2012-12-20 2 views
1

J'utilise VS 2008. Dans un projet Windows ou Smart Device, en appuyant sur la touche de barre d'espace quand un bouton a actuellement le focus, le bouton sera cliqué et il augmentera le Click événement. Y at-il une propriété ou un paramètre qui l'amènera à l'ignorer afin que la barre d'espace ne provoque pas un clic sur le bouton?Comment faire pour arrêter la barre d'espace de cliquer sur le bouton

Répondre

4

Vous pouvez utiliser la propriété KeyPreview du formulaire avec l'événement KeyDown pour intercepter la barre d'espace avant qu'elle ne soit transmise au bouton et si le bouton a le focus, vous pouvez marquer la touche manipulée pour l'empêcher de bouillonner:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     MessageBox.Show("Button Clicked") 
End Sub 

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    Me.KeyPreview = True 
End Sub 

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown 
    If e.KeyCode = Keys.Space And Button1.Focused Then 
     e.Handled = True 
    End If 
End Sub 
+0

il a encore une action de bouton. – soclose

Questions connexes