Bonjour!!

J'ai une windows form avec un label (lblresult1), je voudrais changer son propriété text pendant l'execution de mon programme en utilisant le clavier.
Je travail avec le évènement keyPress de la form... parce que n'importa ou je me trouve dans la form, je veux que si je appuie sur un touche ça ce affiche sur le label.

Le sub que j'ai écrit (et qui ne marche pas!!!) ce le suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
Private Sub form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
 
        Dim DecimalSeparateur As Char
        DecimalSeparateur = CChar(Application.CurrentCulture.NumberFormat.NumberDecimalSeparator)
        If Not Char.IsDigit(e.KeyChar) And Not e.KeyChar = DecimalSeparateur And Not e.KeyChar = "-" And Not Char.IsControl(e.KeyChar) Then
            e.Handled = True
        Else
            Select Case e.KeyChar
                Case "0"
                    LblResult1.Text = "0"
                Case "1"
                    LblResult1.Text = "1"
                Case "2"
                    LblResult1.Text = "2"
                Case "3"
                    LblResult1.Text = "3"
                Case "4"
                    LblResult1.Text = "4"
                Case "5"
                    LblResult1.Text = "5"
                Case "6"
                    LblResult1.Text = "6"
                Case "7"
                    LblResult1.Text = "7"
                Case "8"
                    LblResult1.Text = "8"
                Case "9"
                    LblResult1.Text = "9"
            End Select
   End if
End Sub
Le label doit accepter seulement nombres... et controls (je sais que il me manque mettre les controls dans le select... mais comme ça marche pas... )

J'ai essaye aussi de utiliser directement le code ascii, avec la syntaxe:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Select Case AscW(e.KeyChar)
           Case 48
                Call nombre("0")
.....

mais ça a pas marche....

J'ai aussi essaye de mettre en commentaire tout la première partie et laisser seulement le select case pour être sur que le problème n'est pas le if... mais ce la même chose...


J'ai aussi essaye de le travailler avec le évènement KeyDown...
mais je n'arrive pas a écrire sur le label!!!

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 Private Sub form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.D0 Then
            LblResult1.Text = "0"
        End If
    End Sub
Est ce que quelqu'un pourrait me dire que est ce que je fais mal?

Merci beaucoup!!!

Maria Carolina