none
ok= Entrée ; annuler=ESC RRS feed

  • Discussion générale

  • bonjour,

    pouvez-vous m'aider à trouver le code qui me permet de:

    lorsque j'ai dans ma form une bouton "OK",j'utilise l'entrée du clavier sans taper sur ce bouton

    et pour la bouton "annuler",je clique sur ESC pour sortir,sans cliquer sur cette bouton

    vendredi 7 mai 2010 06:45

Toutes les réponses

  • Bonjour marwa580,

    Ceci est très simple à réaliser car un formulaire Form (on parle bien de Winform?) a deux propriétés. Ces propriétés servent à désigner les boutons dédiés à la validation et à l'annulation du formulaire. Ces deux propréités sont :

    • AcceptButton (bouton pour valider le formulaire)
    • CancelButton (bouton pour annuler le formulaire)
    elle permettent exactement ce que tu cherche à faire ;-)

     


    Jérémy Jeanson MCP http://blogs.codes-sources.com/JeremyJeanson/ (French or English Spoken)
    vendredi 7 mai 2010 07:49
  • pouvez_vous me donner un exemple SVP???

    et si j'ai des boutons sur lesquels sont affichés des chiffres de 0 à 9 et je veut lorsque je clique sur un 0 (dans le clavier)par exemple c'est comme si j'ai cliqué avec la souris sur ce bouton

    vendredi 7 mai 2010 19:37
  • Bonjour,

    Il suffit d'ajouter le caractère "&" devant (par exemple) le 8 (ce qui donnerais "&8") comme texte du bouton et lorsque vous appuierez sur le 8 il lancera l'action du bouton 8.

    On peut aussi ajouter ce caractère devant une lettre dans un mot pour en faire son raccourci par exemple:

    dans "Q&uitter" vous devrez appuyer sur le "u" de votre clavier.

    samedi 8 mai 2010 00:47
  • Lorsque je veut afficher un nombre 120 par exemple dans un TextBox, j'écrirai quoi?
    samedi 8 mai 2010 20:51
  • Il suffie d'ajouter ce code: Nom_de_ta_textbox.text = "120"
    samedi 8 mai 2010 23:45
  • Vous m'avez pas compris. J'ai voulu vous dire comment j'affiche dans un TextBox un nombre (3nombres ou plus, 233 par exemple)?

    Lorsque modifié le Text du bouton comme vous m'avez dit,et j'ai décidé de mettre le nombre 12. Le TextBox affiche 1 puis affiche 2 et n'affiche pas les 2 en meme temps

    samedi 8 mai 2010 23:53
  • Bonsoir,

    Vous m'avez pas compris. J'ai voulu vous dire comment j'affiche dans un TextBox un nombre (3nombres ou plus, 233 par exemple)?

    Lorsque modifié le Text du bouton comme vous m'avez dit,et j'ai décidé de mettre le nombre 12. Le TextBox affiche 1 puis affiche 2 et n'affiche pas les 2 en meme temps


    Vous-pouvez realiser cela à travers KeyPressEventArgs.KeyChar Property (dans les proprietés de textbox->l'anglet event->double cliques sur keypress):  

     Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
      ' if (e.KeyChar < "0" OrElse e.KeyChar > "9") then ' or you can use this way ...
      If Not Char.IsNumber(e.KeyChar) Then
       Select Case Convert.ToInt32(e.KeyChar)
        Case Keys.Escape
         Application.Exit()
        Case Keys.Enter
         MsgBox("Well done")
        Case Else
         e.Handled = True ' return if pressed key is not enter or escape
       End Select
      End If
     End Sub

     

    dimanche 9 mai 2010 00:57
  • Désolée.mais ça devient plus flou qu'avant.Ce code permet de faire koi?
    dimanche 9 mai 2010 01:07
  • Bonjour,

    Le code devrait correspondre à ce que tu veux (simplifié), avec <rc> et <esc>

    Option Explicit On
    Public Class Form1
    
     Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
      Select Case Asc(e.KeyChar)
       Case 13 ' <rc>
        Call suite()
        Exit Sub
       Case 27 ' <escape>
        Call escape()
        Exit Sub
      End Select
     End Sub
    
     Sub suite() 'du traitement...
      MsgBox("ok suite")
      ' TextBox1.text ...
     End Sub
    
     Sub escape()
      MsgBox("sortie")
      ' TextBox1.text ...
     End Sub
    
    End Class
    

     

    Pour bien le comprendre, colle le code dans un programme vierge, et mettant sur la form un textBox1

    Ou encore plus simple pour la compréhension, ce code :

    Option Explicit On
    Public Class Form1
    
     Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
      MsgBox(Asc(e.KeyChar))
     End Sub
    
    End Class
    

    Cordialement.

     


    Joe ___ Romans et Logiciels ___ http://irolog.free.fr
    dimanche 9 mai 2010 06:43
  • Bonjour,

    Désolée.mais ça devient plus flou qu'avant.Ce code permet de faire koi?

    Votre objectif est de passer directement les chiffres à la composante textbox à travers le clavier au lieu de cliquer par le souris, alors cette fonction sera à l'écoute de chaque keypress.

    Si le bouton n'est pas numérique alors (Then), la fonnction vérifie s'il s'agit de bouton Enter ou Escape (select e.KeyChar). dans chaque cas il y a des actions à faire et ils sont définit par les deux cases (keys.Enter et Keys.ESCAPE). Si ni Enter ni Escape est pressé alors ne fait rien(e.Handled=true). 

    Comme il n y a pas de else (qui correspond au cas des boutons numérique), alors par défaut il écrit le texte (le code e.KeyChar) de chaque bouton pressed dans le champ de textbox. 

     If Not Char.IsNumber(e.KeyChar) Then
     Select Case e.KeyChar
     Case Keys.Escape
      Application.Exit()
     Case Keys.Enter
      MsgBox("Well done")
     Case Else
      e.Handled = True ' return if pressed key is not enter or escape
     End Select
     End If

     

    dimanche 9 mai 2010 15:42
  • Bonjour,

     

    Merci à tous pour les réponses. Marwa850, est-ce que vous avez réussi à continuer votre projet à l’aide de ces informations ?

     

    Cordialement,

    Alex


    Appel à contribution ! http://social.msdn.microsoft.com/Forums/fr-FR/vbasicfr/thread/bd974e0e-5519-4122-b8fc-3b998207c34f
    mardi 11 mai 2010 12:12