2009-11-03 16 views
1

Comment faire un événement Button.click Exécutez les touches d'entrée et de période (del) sur le pavé numérique?VB.NET 2008 - Comment faire un événement Button.click Effectuez les touches d'entrée et de période (del) sur le clavier numérique?

extrait de code:

Private Sub frmCalc_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown 
    Select Case e.KeyCode 
     Case Keys.NumPad0 
      btn0.PerformClick() 
     Case Keys.NumPad1 
      btn1.PerformClick() 
     'etc. 
    End Select 
End Sub 

Case Keys.Enter et Case Keys.Separator ne fonctionnent pas. Pas plus que Keys.OEMPeriod pour la période (del) key.

J'ai également essayé d'appeler la touche Entrée dans un événement KeyPress, etc. Mais en vain.

Des idées? J'essaye d'imiter Windows calc.exe pour un projet d'école et j'ai pensé que j'essaierais de jeter quelques extras tels que la fonctionnalité de pavé numérique.

Répondre

0

Vous pouvez comprendre cela par vous-même.

Définissez un point d'arrêt au début de votre gestionnaire KeyDown dans le débogueur, appuyez sur l'une de ces touches et vérifiez la valeur de e.KeyCode dans la fenêtre Variables locales.

+0

Merci beaucoup! Cela a résolu le problème pour la touche "période". Toutefois, l'appui sur la touche Entrée n'affiche aucune valeur dans la fenêtre Locals. Des idées pour savoir pourquoi cela pourrait être? – legostyle

+0

Lorsque je définis un point d'arrêt au début du gestionnaire KeyDown dans le débogueur et commence le débogage, la fenêtre Locals reste complètement vide lorsque j'appuie sur l'une des touches Entrée du clavier, alors que si j'appuie par ex. la touche a la fenêtre locale indique le nom e, la valeur {KeyData = A {65}} etc. Je n'arrive pas à comprendre pourquoi la touche Entrée ne semble pas répondre à ce stade. – legostyle

+0

Lorsque vous appuyez sur Entrée, le point d'arrêt est-il touché? – SLaks