bonjour tout le monde
comment faire pour activer seulement le clavier numérique(ecriture dans textbox ou datagridview)
merci
bonjour tout le monde
comment faire pour activer seulement le clavier numérique(ecriture dans textbox ou datagridview)
merci
Bonjour,
Je ne comprend pas ce que tu veux dire exactement par seulement le clavier numérique.
Voici un petit exemple pour activer ou desactiver le clavier numérique en vb :
Insérer dans un module de Classe
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 Option Explicit Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As _ Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Declare Function SetKeyboardState Lib "user32" (lppbKeyState As Byte) _ As Long Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As _ Integer Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" _ (ByVal wCode As Long, ByVal wMapType As Long) As Long Public Const VK_NUMLOCK = &H90 Public Const VK_SCROLL = &H91 Public Const VK_CAPITAL = &H14 Private Const KEYEVENTF_EXTENDEDKEY = &H1 Private Const KEYEVENTF_KEYUP = &H2 Public Sub SetKeyState(ByVal Key As Long, ByVal State As Boolean) keybd_event Key, MapVirtualKey(Key, 0), KEYEVENTF_EXTENDEDKEY Or 0, 0 keybd_event Key, MapVirtualKey(Key, 0), KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 If Key = 20 And State = False Then keybd_event 16, 0, 0, 0 keybd_event 16, 0, 2, 0 End If End Sub Public Property Get CapsLock() As Boolean CapsLock = GetKeyState(VK_CAPITAL) = 1 End Property Public Property Let CapsLock(ByVal Value As Boolean) SetKeyState VK_CAPITAL, Value End Property Public Property Get NumLock() As Boolean NumLock = GetKeyState(VK_NUMLOCK) = 1 End Property Public Property Let NumLock(ByVal Value As Boolean) SetKeyState VK_NUMLOCK, Value End Property Public Property Get ScrollLock() As Boolean ScrollLock = GetKeyState(VK_SCROLL) = 1 End Property Public Property Let ScrollLock(ByVal Value As Boolean) SetKeyState VK_SCROLL, Value End Property
Dans un Module standard
J'espère que cela pourra t'aider.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Option Explicit Sub Bouton1_QuandClic() If NumLock = False Then NumLock = True End Sub Sub Bouton2_QuandClic() If NumLock = True Then NumLock = False End Sub
A bientôt
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
merci à vous mais franchement je n'ai pas bien compris la solution que vous avez proposé
et ce que je veux faire c'est dans un textbox n'autoriser que l'ecriture des chiffres ainsi que le séparateur décimal
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) If e.KeyCode >= Keys.NumPad0 And e.KeyCode <= Keys.NumPad9 _ Or e.KeyCode = Keys.Decimal Then ' OK, touche acceptée (rien à faire) Else ' Touche refusée e.Handled = True End If End Sub
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
merci à vous mais ça ne marche pas par ce que avec ce code je peux écrire des lettre alphabétique
merci
tu as juste copier ce code dans ton application sans rien changer?
Sache que pour le textBox ou tu veux appliquer ce "truc" il faut que tu choisisses l'évenement keydown.
tu auras des lors une fonction semblable a celle-ci :
l'important est le handles a la fin de cette fonction, il doit absolument avoir le nom de ton textBox.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub TextBox2_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox2.KeyDown End Sub
ensuite tu mets le code que tomlev t'a donné :
je t'assure que ca fonctionne !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 If e.KeyCode >= Keys.NumPad0 And e.KeyCode <= Keys.NumPad9 _ Or e.KeyCode = Keys.Decimal Then ' OK, touche acceptée (rien à faire) Else ' Touche refusée e.Handled = True End If
Règles du forum + Comment utiliser Developpez.com =
Découvrez le magazine gratuit de Developpez.com
Si vous développez en .NET, la FAQ, les tutos et l'aide MSDN sont vos amis !!!
Dvp.NET, la librairie .NET open source de Developpez.com
Partager