IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Écrire dans une label en utilisant le clavier


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 18
    Par défaut Écrire dans une label en utilisant le clavier
    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

  2. #2
    Membre éclairé Avatar de salihovic
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Par défaut
    bonjour
    le problème que le form ne répond pas aux évennements du clavier
    en plus les controls de ta form répondes aux évennements.
    il suffit pour résoudre ça mettre form.keypreview =true dans le designer.
    de cette façon la form acepte les évennements du clavier et tu peut donc jouer avec ta fonction.
    j'espère que ça aide

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 18
    Par défaut
    Merci salihovic

    ça marche!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utiliser un userform pour lire et écrire dans une feuille de calculs
    Par sebi78 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/04/2007, 19h51
  2. Pause dans une application sans utiliser Sleep()
    Par CriPpLe dans le forum MFC
    Réponses: 9
    Dernier message: 25/03/2006, 11h00
  3. Réponses: 3
    Dernier message: 01/02/2006, 21h31
  4. TForm dans une DLL avec utilisation d'Interface
    Par guedelmalin dans le forum Langage
    Réponses: 13
    Dernier message: 17/06/2005, 11h58
  5. Nom de Champ dans une table pour utiliser For/Next
    Par Mulele dans le forum Access
    Réponses: 6
    Dernier message: 30/10/2004, 13h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo