Meilleur auteur de réponses
clavier numerique

Question
-
Réponses
-
La souris peut cliquer sur les touches.
Voici une capture d'écran du PadNumerique que j'utilise dans une de mes applications:
MouseUp etc existe certainement dans VS2008.
'Sub pour l'entrée d'un mdp numérique avec un pad 'Les boutons numériques 'On utilise un overload pour le click des boutons Private Sub frmPadMdp_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button0.Click, Button1.Click, Button2.Click, _ Button3.Click, Button4.Click, Button5.Click, _ Button6.Click, Button7.Click, Button8.Click, Button9.Click 'Debug.Print("Button event click : " & sender.ToString) _TextMdp += sender.text 'Attention le text du bouton doit être correct... TextBox1.AppendText(sender.text) 'Label1.Text = _TextMdp 'TextBox1.Focus() btOK.Focus() End Sub 'Il n'y a que le Clear d'utilisable pas de correction 1 à 1 Private Sub btClear_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles btClear.MouseUp _TextMdp = "" TextBox1.Text = _TextMdp 'Label1.Text = _TextMdp 'TextBox1.Focus() btOK.Focus() End Sub 'Le bouton OK Private Sub btok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btOK.Click 'Test sur le mot de passe 'Debug.Print("Le mot de passe = " & TextBox1.Text) 'Il faut écrire le mdp dans la forme appelante 'Par exemple sur une variable Globale 'Déclarée dans le forme appelante: Public strMotDePasse as string 'Ce n'est pas la meilleure façon mais ça marche 'Ceci ferme la forme et ferme la forme appelante egalement.../ Me.DialogResult = DialogResult.OK End Sub Private Sub frmPadMdp_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress If e.KeyChar >= "0" And e.KeyChar <= "9" Then 'Raise events... BAD BAD CODE??? Select Case e.KeyChar Case "0" Button0.PerformClick() Case "1" Button1.PerformClick() Case "2" Button2.PerformClick() Case "3" Button3.PerformClick() Case "4" Button4.PerformClick() Case "5" Button5.PerformClick() Case "6" Button6.PerformClick() Case "7" Button7.PerformClick() Case "8" Button8.PerformClick() Case "9" Button9.PerformClick() End Select ElseIf e.KeyChar = Convert.ToChar(Keys.Enter) Then ' enter btOK.PerformClick() ElseIf e.KeyChar = Convert.ToChar(Keys.Back) Then ' enter 'On efface le dernier caractère If TextBox1.Text.Length > 0 Then TextBox1.Text = Strings.Left(TextBox1.Text, TextBox1.Text.Length - 1) End If ' Touche_Click(11) ' validation 'ElseIf KeyAscii = 46 Or KeyAscii = 8 Then ' ' suppr du pavé numérique ou del ' Touche_Click(10) ' erase 'Else ' MsgBox("Veuillez saisir uniquement des chiffres.", vbExclamation, App.Title) ' TextPassword.SetFocus() End If End Sub
Cyrille Precetti
- Marqué comme réponse Teodora SharkovaModerator mercredi 30 décembre 2015 16:08
Toutes les réponses
-
-
" On a tous un jour fait un pad numérique." ...... :)))))
chez les programmeurs peut etre !!!, chez moi jamais, je ne contentais de ma calculette, et meme de la regle a calcul quand j'ai passe le bac !, la calculatrice etant interdite, remarque il n'y avait pas d'ordinateur non plus ....
bon je vais regarder le lien, dans tous les cas, merci !
-
Alors j'ai regarde mais si j'ai bien compris c'est pour un ecran tactile, hors ce que je voudrais c'est un clavier numerique pour ecran classique et ecrire les chiffres avec la souris !.
pour info j'utilise Visual Studio 2008, a priori il accepte pas "Mouseup etc."
merci
-
La souris peut cliquer sur les touches.
Voici une capture d'écran du PadNumerique que j'utilise dans une de mes applications:
MouseUp etc existe certainement dans VS2008.
'Sub pour l'entrée d'un mdp numérique avec un pad 'Les boutons numériques 'On utilise un overload pour le click des boutons Private Sub frmPadMdp_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button0.Click, Button1.Click, Button2.Click, _ Button3.Click, Button4.Click, Button5.Click, _ Button6.Click, Button7.Click, Button8.Click, Button9.Click 'Debug.Print("Button event click : " & sender.ToString) _TextMdp += sender.text 'Attention le text du bouton doit être correct... TextBox1.AppendText(sender.text) 'Label1.Text = _TextMdp 'TextBox1.Focus() btOK.Focus() End Sub 'Il n'y a que le Clear d'utilisable pas de correction 1 à 1 Private Sub btClear_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles btClear.MouseUp _TextMdp = "" TextBox1.Text = _TextMdp 'Label1.Text = _TextMdp 'TextBox1.Focus() btOK.Focus() End Sub 'Le bouton OK Private Sub btok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btOK.Click 'Test sur le mot de passe 'Debug.Print("Le mot de passe = " & TextBox1.Text) 'Il faut écrire le mdp dans la forme appelante 'Par exemple sur une variable Globale 'Déclarée dans le forme appelante: Public strMotDePasse as string 'Ce n'est pas la meilleure façon mais ça marche 'Ceci ferme la forme et ferme la forme appelante egalement.../ Me.DialogResult = DialogResult.OK End Sub Private Sub frmPadMdp_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress If e.KeyChar >= "0" And e.KeyChar <= "9" Then 'Raise events... BAD BAD CODE??? Select Case e.KeyChar Case "0" Button0.PerformClick() Case "1" Button1.PerformClick() Case "2" Button2.PerformClick() Case "3" Button3.PerformClick() Case "4" Button4.PerformClick() Case "5" Button5.PerformClick() Case "6" Button6.PerformClick() Case "7" Button7.PerformClick() Case "8" Button8.PerformClick() Case "9" Button9.PerformClick() End Select ElseIf e.KeyChar = Convert.ToChar(Keys.Enter) Then ' enter btOK.PerformClick() ElseIf e.KeyChar = Convert.ToChar(Keys.Back) Then ' enter 'On efface le dernier caractère If TextBox1.Text.Length > 0 Then TextBox1.Text = Strings.Left(TextBox1.Text, TextBox1.Text.Length - 1) End If ' Touche_Click(11) ' validation 'ElseIf KeyAscii = 46 Or KeyAscii = 8 Then ' ' suppr du pavé numérique ou del ' Touche_Click(10) ' erase 'Else ' MsgBox("Veuillez saisir uniquement des chiffres.", vbExclamation, App.Title) ' TextPassword.SetFocus() End If End Sub
Cyrille Precetti
- Marqué comme réponse Teodora SharkovaModerator mercredi 30 décembre 2015 16:08
-
-
bon j'ai vu en bas qu'il fallait le declarer en string, et ca marche .... merci pour ca, je vais encore abuser, car ce clavier je vais le mettre dans une form ou il y aura plusieurs textbox a remplir, donc d'abord la selection de la text box avec la souris taper le nombre et valider .....
merci
-
-
-
Il faut passer un paramètre au lancement du pad numérique en mode byref pour qu'il soit lisible à la fermeture.
'Dans la forme appelant le pad numérique public _MotDePasse as String Using frmPad as new frmPadNumerique(_MotDePasse) 'On affiche la valeur textbox1.text=_MotDePasse.tostring 'Eventuellement on vérifie la valeur if _MotDePasse="12345" then 'Ok endif End Using
Dans la forme PadNumerique il faut avoir un constructeur avec le paramètre MotDePasse
'Déclaration interne Private _MotDePasse as string Private _ValeurEntree as string 'Constructeur Public Sub New(byref MotDePasse_Parametre as string) _MotDePasse = MotDePasse_Parametre end sub 'Dans les traitements des boutons 0-9 Private Sub formPad_Click(byval sender as Object, _ byval e as System.EventArgs) Handles Button0.Click, _ button1.Click, button2.click, button3.click, ..._ button9.click _ValeurEntree = _ValeurEntree & sender.text textbox1.AppendText(sender.text) end sub 'Dans le traitement de OK pour fermer la forme private sub btOK_Click(sender,e) Handles btOK.Click _MotDePasse = Textbox1.text End Sub
Cyrille Precetti
-