1. #21
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2013
    Messages
    1 544
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2013
    Messages : 1 544
    Points : 3 467
    Points
    3 467

    Par défaut



    J'ai deux suppositions :
    Soit le tactile est pas précis du tout et il réagis comme si tu appuyais deux fois sur la touche
    Soir le KeyDown est géré différemment sur les interfaces tactiles (genre une fois pour le click sur l'écran et une fois sur le clavier numérique?)

    Il faudrait que tu te mettes en Debug sur la tablette pour en savoir plus.

  2. #22
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2017
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 113
    Points : 31
    Points
    31

    Par défaut

    Bonjour ! Merci pour toutes ces réponses !

    J'ai deux suppositions :
    Soit le tactile est pas précis du tout et il réagis comme si tu appuyais deux fois sur la touche
    Soit le KeyDown est géré différemment sur les interfaces tactiles (genre une fois pour le click sur l'écran et une fois sur le clavier numérique?)
    En fait lorsque je tape le code "1-2-3-4" très rapidement alors il s'affiche parfaitement "1-2-3-4" en revanche quand je tape tout doucement un chiffre après l'autre alors j'obtiens "1-1-2-2"...

    Est-ce le tactile ? Est-ce le KeyDown (j'y ai pensé) ? J'ai oublié de préciser la tablette est sous Windows 8.1 et mon pc au travail est sous Windows 7. J'ai Windows 10 à la maison et je pense essayer ce soir mettre mon pc en mode tablette et lancer l'app sur mon Pc voir si ce problème persiste, qu'en penses-tu ?

    J'ai cherché hier soir aussi à pouvoir cacher les caractères utilisés c-à-d mettre des "*" lorsque je compose mon mot de passe j'avais déjà réussi par le passé en utilisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PasswordBox.PasswordChar ="*"
    Voilà ce que j'avais fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	Private Sub passwordBox_PasswordChanged(ByVal sender As Object, ByVal e As RoutedEventArgs)
     
    		passwordBox.MaxLength ="4"
    		passwordBox.PasswordChar ="*"
     
    		If passwordBox.Password = "4321" Then
    		   MessageBox.Show("ok")
    		Else 
        	End If
        	End Sub
    Mais là sans PasswordBox je ne vois pas...

    J'ai un autre "problème" je cherche à lancer le clavier virtuel automatiquement sous Windows 8 lorsque je lance l'app, enfin c'est une demande du chef de projet mais je ne sais pas du si c'est faisable/réalisable ?

    J'ai parlé avec toi (un peu plus tôt sur ce forum) du fait de pouvoir réinitialiser ma page "tapez votre de passe" à chaque fois que je l'a quitte, et j'ai donc réfléchis il faudrait en fait faire une sorte de textbox.clear() au niveau de mon sous menu (et peut être de mon menu principal) comme cela à chaque fois que je quitte mon sous menu mes textbox sont "nettoyées". Je testerai ça une fois que je régle les "problèmes" mentionnés plus haut, il ne faut pas que je me disperse.

    Merci à @ZenZiTone qui m'a beaucoup aidé !

    Quelqu'un a une idée svp ??

  3. #23
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2013
    Messages
    1 544
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2013
    Messages : 1 544
    Points : 3 467
    Points
    3 467

    Par défaut

    Citation Envoyé par ism10 Voir le message
    J'ai cherché hier soir aussi à pouvoir cacher les caractères utilisés c-à-d mettre des "*" lorsque je compose mon mot de passe j'avais déjà réussi par le passé en utilisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PasswordBox.PasswordChar ="*"
    Voilà ce que j'avais fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	Private Sub passwordBox_PasswordChanged(ByVal sender As Object, ByVal e As RoutedEventArgs)
     
    		passwordBox.MaxLength ="4"
    		passwordBox.PasswordChar ="*"
     
    		If passwordBox.Password = "4321" Then
    		   MessageBox.Show("ok")
    		Else 
        	End If
        	End Sub
    Mais là sans PasswordBox je ne vois pas...
    C'est possible (et pas compliqué) ! Il faut que tu ais une propriété qui mémorise ton mot de passe. Ainsi, a chaque fois que ta valeur change, tu mémorises la nouvelle valeur dans cette propriété. De là, tu peux remplacer le texte affiché par une '*'.

  4. #24
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2017
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 113
    Points : 31
    Points
    31

    Par défaut

    C'est possible (et pas compliqué) ! Il faut que tu ais une propriété qui mémorise ton mot de passe. Ainsi, a chaque fois que ta valeur change, tu mémorises la nouvelle valeur dans cette propriété. De là, tu peux remplacer le texte affiché par une '*'.
    Alors je n'ai pas du tt réussi à changer les caractères en "*"... J'abandonne pour le moment

    Par contre j'ai bien avancé quant à l'appel du clavier visuel/virtuel sur tablette
    voici ce que j'ai fait dans mon behind:

    J'ai d'abord déclaré ces 2 fonctions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	Private Declare Function Wow64DisableWow64FsRedirection Lib "Kernel32" (ByRef OldValue As Integer) As Boolean
            Private Declare Function Wow64RevertWow64FsRedirection Lib "Kernel32" (OldValue As Integer) As Boolean
    Ensuite j'ai fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            Dim Redir64 As Integer
     
            Wow64DisableWow64FsRedirection(Redir64)
            System.Diagnostics.Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.System) & "\osk.exe")
            Wow64RevertWow64FsRedirection(Redir64)
        End Sub
    Dans mon Xaml :
    J'ai juste rajouté le bouton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <Button Content="Keyboard" Grid.Column="0" Grid.ColumnSpan="4" Grid.Row="0" Grid.RowSpan="4" 
    HorizontalAlignment="Left" VerticalAlignment="Top" Margin="49,36,0,0" Width="145" Height="45" RenderTransformOrigin="0.5,0.5" 
    x:Name="button1" Click="button1_Click" Padding="0,0,0,0" BorderThickness="0" Background="Transparent" 
    BorderBrush="White" FontFamily="Gotham" FontWeight="SemiBold" Foreground="White" />
    Le problème c'est que j'arrive à le faire avec un bouton mais j'aimerai le faire sans bouton c'est à dire appeler le clavier automatiquement à l'ouverture de ma fenêtre donc sans bouton. Mais comment faire ? A chaque fois que j'essaye j'obtiens des erreurs....



    Ou sinon si c'est impossible d'appeler la keyboard Windows pourquoi pas créer un pavé num et l'appeler lorsque j'ouvre ma fenêtre ! Mais je ne l'envisage qu'en dernier recours.

  5. #25
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2018
    Messages : 13
    Points : 24
    Points
    24

    Par défaut

    Bonsoir,

    vous pouvez faire ceci dans l'ouverture de votre projet pour entrer le mot de passe avec le clavier virtuel :
    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
     
     
    Public Class Form1
     
        Declare Function Wow64DisableWow64FsRedirection Lib "kernel32" (ByRef oldvalue As Long) As Boolean
        Declare Function Wow64EnableWow64FsRedirection Lib "kernel32" (ByRef oldvalue As Long) As Boolean
        Private osk As String = "C:\Windows\System32\osk.exe"
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Dim old As Long
            If Environment.Is64BitOperatingSystem Then
                If Wow64DisableWow64FsRedirection(old) Then
                    Process.Start(osk)
                    Wow64EnableWow64FsRedirection(old)
                End If
            Else
                Process.Start(osk)
            End If
        End Sub
    End Class
    cordialement,

  6. #26
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2017
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 113
    Points : 31
    Points
    31

    Par défaut

    Merci beaucoup @Miska59 pour votre aide !

    Je test ça et je reviens vous dire si tout va bien !

    Merci encore de faire avancer mon projet !

  7. #27
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2017
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 113
    Points : 31
    Points
    31

    Par défaut

    @Miska59 Merci ça fonctionne bien !

    Le clavier se lance au lancement de l'app, j'essaye maintenant de lancer le clavier lorsque j'arrive sur la page spécifique au mot de passe c'est à dire tant que je ne rentre pas sur le menu "mot de passe" alors je ne veux pas que le clavier se lance et vice versa lorsque je rentre sur le menu "mot de passe" il faut que le clavier se lance. Je suis dessus en ce moment même j'essaye quelque code !

    J'avais une autre question en rapport aux textbox. Comment pouvoir reset mes textbox lorsque je quitte mon menu "mot de passe". Car en effet lorsque je tape mon mot de passe ensuite je quitte ce menu, puis lorsque que je reviens le mot de passe tapé est encore présent... Comment faire ? quelqu'un a une idée ?

  8. #28
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2018
    Messages : 13
    Points : 24
    Points
    24

    Par défaut

    Bonjour,

    J'avais une autre question en rapport aux textbox. Comment pouvoir reset mes textbox lorsque je quitte mon menu "mot de passe". Car en effet lorsque je tape mon mot de passe ensuite je quitte ce menu, puis lorsque que je reviens le mot de passe tapé est encore présent... Comment faire ? quelqu'un a une idée ?
    Voici plusieurs solution pour effacer le mot de passe de tous les textbox(s) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     For Each a In Me.Controls
                If TypeOf a Is TextBox Then
                    a.clear()
                End If
            Next
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each a In Me.Controls
            If TypeOf a Is TextBox Then
                a.Text = ""
            End If
        Next
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each a In Me.Controls
            If TypeOf a Is TextBox Then
                a.Text = Nothing
            End If
        Next
    Vous pouvez ajouter ce code dans Form1_FormClosing pour effacer ce contenu un fois fermer où une fois le mot de passe est valider, il efface tous le mot de passe automatiquement.
    voici un exemple :
    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
     Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
            If TextBox1.Text.Length = 4 Then
                If TextBox1.Text = "1234" Then
                    MsgBox("MDP Valide!")
                    effacer()
                Else
                    MsgBox("Non valide!")
                End If
            End If
        End Sub
     
        Private Sub effacer()
            For Each a In Me.Controls
                If TypeOf a Is TextBox Then
                    a.clear()
                End If
            Next
        End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub effacer()
            For Each a In Me.Controls
                If TypeOf a Is TextBox Then
                    a.clear()
                End If
            Next
        End Sub
     
        Private Sub Form1_FormClosing(sender As System.Object, e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
            effacer()
        End Sub
    cordialement,

  9. #29
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2013
    Messages
    1 544
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2013
    Messages : 1 544
    Points : 3 467
    Points
    3 467

    Par défaut

    Citation Envoyé par ism10 Voir le message
    Car en effet lorsque je tape mon mot de passe ensuite je quitte ce menu, puis lorsque que je reviens le mot de passe tapé est encore présent... Comment faire ? quelqu'un a une idée ?
    Pourrais-tu nous montrer comment tu utilises ton menu d'authentification? Car pour moi, ça devrait fonctionner de la même manière qu'une boite de dialogue.. -> La durée de vie du formulaire = la durée d'affichage de celui-ci. Ainsi, pas besoin de se poser la question de l'init..

  10. #30
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2017
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 113
    Points : 31
    Points
    31

    Par défaut

    @Miska59 Les codes que vous me proposez sont normalement bons ça fait appelle à la récursivité n'est ce pas ? Ce matin j'en ai essayé quelques uns mais j'avais toujours la mm erreur qui me stipulait que 'Controls' n'était pas un membre de ma "classe"... car WPF comme vous l'avez très bien relevé.


    @ZenZiTone voici mon code si cela répond à ta question :

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    Imports System
    Imports System.Collections.Generic
    Imports System.Text
    Imports System.Windows
    Imports System.Windows.Controls
    Imports System.Windows.Data
    Imports System.Windows.Documents
    Imports System.Windows.Input
    Imports System.Windows.Media
     
    ''' <summary>
    ''' Interaction logic for UserAccess.xaml
    ''' </summary>
    Public Partial Class UserAccess
    	Inherits UserControl
     
    	Event MainMenuButtonClicked(Index As Integer)
     
    	Public Shared ReadOnly CommandEscapeButton As New RoutedCommand()
    	Public Shared ReadOnly CommandValidateButton As New RoutedCommand()
    	Private Password As String = "" 
    	Private Declare Function Wow64DisableWow64FsRedirection Lib "Kernel32" (ByRef OldValue As Integer) As Boolean
            Private Declare Function Wow64RevertWow64FsRedirection Lib "Kernel32" (OldValue As Integer) As Boolean
        'Declare Function Wow64DisableWow64FsRedirection Lib "kernel32" (ByRef oldvalue As Long) As Boolean
        'Declare Function Wow64EnableWow64FsRedirection Lib "kernel32" (ByRef oldvalue As Long) As Boolean	
    	Public Sub New()
    		InitializeComponent()
    		PassWordA.Focus()
    		'UserAccessGrid.Focus()
     
    		'AddHandler UserAccessGrid.KeyDown, AddressOf UserAccessKeyDownEventHandler
    		'AddHandler PassWordA.KeyDown, AddressOf MainWindowKeyDownEventHandler
    		'AddHandler PassWordB.KeyDown, AddressOf MainWindowKeyDownEventHandler
    		'AddHandler PassWordC.KeyDown, AddressOf MainWindowKeyDownEventHandler
    		'AddHandler PassWordD.KeyDown, AddressOf MainWindowKeyDownEventHandler
     
    	End Sub
     
     
    	Private Sub PassWordA_TextChanged(sender As Object, e As EventArgs) Handles PassWordA.TextChanged
    	 	PassWordB.Focus()
    	 	PassWordB.SelectAll()
     
     	End Sub
     	Private Sub PassWordB_TextChanged(sender As Object, e As EventArgs) Handles PassWordB.TextChanged
     		PassWordC.Focus()
     		PassWordC.SelectAll()
     
     	End Sub
     	Private Sub PassWordC_TextChanged(sender As Object, e As EventArgs) Handles PassWordC.TextChanged
     		PassWordD.Focus()
     		PassWordD.SelectAll()
     
     	End Sub
      	Private Sub PassWordD_TextChanged(sender As Object, e As EventArgs) Handles PassWordD.TextChanged
      		PassWordA.Focus()
      		PassWordA.SelectAll()	  		
     
      	End Sub
     
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            Dim Redir64 As Integer
     
            Wow64DisableWow64FsRedirection(Redir64)
            System.Diagnostics.Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.System) & "\osk.exe")
            Wow64RevertWow64FsRedirection(Redir64)
        End Sub
     
        'Private osk As String = "C:\Windows\System32\osk.exe"
        'Private Sub Keyboard_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Loaded
        	'Dim old As Long
     
            'If Environment.Is64BitOperatingSystem Then
                'If Wow64DisableWow64FsRedirection(old) Then
                    'System.Diagnostics.Process.Start(osk)
                    'Wow64EnableWow64FsRedirection(old)
                'End If
            'Else
                'System.Diagnostics.Process.Start(osk)
            'End If
        'End Sub
     
    	'# Region "Event Handler"
    	Private Sub CommandBinding_Escape (ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
    		RaiseEvent MainMenuButtonClicked(0)
    	End Sub
     
    	Private Sub CommandBinding_Validate (ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
     
    		Password = PassWordA.Text + PassWordB.Text + PassWordC.Text + PassWordD.Text 'TODO
     
    		If Password = "1234" Then
    			RaiseEvent MainMenuButtonClicked(1)
    		Else
    			MessageBox.Show("Wrong Password")
    		End If
    	End Sub	
     
    	'Private Sub UserAccessKeyDownEventHandler (ByVal sender As Object, ByVal e As KeyEventArgs) 
    		'Password = Password & e.Key 
    		'Password = Password
    	'End Sub
     
    	'Private Sub MainWindowKeyDownEventHandler (ByVal sender As Object, ByVal e As KeyEventArgs)
    		'Password = Password & e.Key 
    		'Password = Password
    	'End Sub
    	'# End Region
    End Class

  11. #31
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2018
    Messages : 13
    Points : 24
    Points
    24

    Par défaut

    Bonjour,

    oups, désolée je me suis tromper . j'avais oublier que votre code c'est en wpf :
    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
     Private Sub CommandBinding_Validate(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
     
            Password = PassWordA.Text + PassWordB.Text + PassWordC.Text + PassWordD.Text 'TODO
     
            If Password = "1234" Then
                RaiseEvent MainMenuButtonClicked(1)
                cleartextbox(Me)
            Else
                MessageBox.Show("Wrong Password")
            End If
        End Sub
     
     
        Private Function cleartextbox(ByVal obj As DependencyObject) As Object
            Dim i As Integer = 0
            Do While (i < VisualTreeHelper.GetChildrenCount(obj))
                If (TypeOf obj Is TextBox) Then
                    CType(obj, TextBox).Text = Nothing
                End If
                cleartextbox(VisualTreeHelper.GetChild(obj, i))
                i = (i + 1)
            Loop
            Return obj
        End Function
    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
    Private Sub CommandBinding_Validate(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
     
            Password = PassWordA.Text + PassWordB.Text + PassWordC.Text + PassWordD.Text 'TODO
     
            If Password = "1234" Then
                RaiseEvent MainMenuButtonClicked(1)
                ClearTextBoxes(Me)
            Else
                MessageBox.Show("Wrong Password")
            End If
        End Sub
     
    Private Sub ClearTextBoxes(ByVal depObject As DependencyObject)
            For i As Integer = 0 To VisualTreeHelper.GetChildrenCount(depObject) - 1
                If TypeOf depObject Is TextBox Then
                    CType(depObject, TextBox).Clear()
                End If
     
                ClearTextBoxes(VisualTreeHelper.GetChild(depObject, i))
            Next
        End Sub
    je l'ai essayer ça fonctionne très bien.
    cordialement,

  12. #32
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2017
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 113
    Points : 31
    Points
    31

    Par défaut

    ÉNORME MERCI @Miska59

    Fonctionne parfaitement ! C’était exactement ça que je recherchais, votre aide est précieuse comme celle de @ZenZiTone car sans vous je n'aurai absolument pas avancé comme je l'ai fait ces dernières semaines ! (je n'ai que 5 semaines de vb.net, Wpf etc... dans les pattes !)

    (Je passe mon sujet en RESOLU)

  13. #33
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2017
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 113
    Points : 31
    Points
    31

    Par défaut

    Bonjour,

    Je peaufine mon code actuellement, je travaille dans un premier temps sur le fait de n'accepter que les chiffres et exclure tout autre caractère dans mes textbox. J'ai réussi certaines choses mais pas satisfaisantes du tt, j'ai repéré quelque code sur le net mais je me ramasse pas mal d'erreur donc je continue.

    Et enfin, j'essaye de changer mes caractères affiché en "*" sans passer par PasswordBox et Password.Char, @ZenZiTone m'avait je me souviens guidé donc j'essaye de mon coté.

    Je reviens vers vous pour vous montrer mon avancement dans ce "projet". (Ce n'est qu'une toute petite partie mais vous m'avez très bien aidé et je vous en remercie sincèrement j’espère moi aussi pouvoir aider quelqu'un sur le forum !)

  14. #34
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2018
    Messages : 13
    Points : 24
    Points
    24

    Par défaut

    Bonjour,

    Je peaufine mon code actuellement, je travaille dans un premier temps sur le fait de n'accepter que les chiffres et exclure tout autre caractère dans mes textbox. J'ai réussi certaines choses mais pas satisfaisantes du tt, j'ai repéré quelque code sur le net mais je me ramasse pas mal d'erreur donc je continue.
    Voici la solution pour accepter que des chiffres et la touche returns :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub TextBox1_PreviewTextInput(sender As System.Object, e As System.Windows.Input.TextCompositionEventArgs) Handles TextBox1.PreviewTextInput
            If Not Char.IsNumber(e.Text, (e.Text.Length - 1)) Then
                e.Handled = True
            End If
        End Sub
    cordialement,

  15. #35
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2017
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 113
    Points : 31
    Points
    31

    Par défaut @Miska59

    Bonjour @Miska59 et MERCI pour ton aide précieuse, donc,

    Je me suis entêté ce matin avec pas mal de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub PassWordA_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles PassWordA.key
       Dim allowedChars As String = "0123456789"
       If allowedChars.IndexOf(e.Key) = -1 Then
           ' Invalid Character
           e.Handled = True
       End If
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Change_character(ByVal sender As Object, ByVal e As ConsoleCancelEventArgs) Handles PassWordA.validating
    	Dim i As Int32
    	If Not Int32.TryParse(PassWordA.Text, i) Then
    		Forms.MessageBox.Show("Please enter a number")
    		e.cancel = True
    	End If
    End Sub
    ou encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Text1_KeyPress(KeyAscii As Integer)
    	'disallow any other characters appart from numeric ones into the weight box
        If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = 8 Then
        KeyAscii = 0
       ' MsgBox "You are trying to insert invalid characters", vbCritical, "Error:" 'This stops anything other than numbers being entered and also the use of a backspace (ascii code 8)
        End If
    End Sub
    Je savais que je n'étais pas loin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub PassWordA_PreviewTextInput(sender As System.Object, e As System.Windows.Input.TextCompositionEventArgs) Handles PassWordA.PreviewTextInput
            If Not Char.IsNumber(e.Text, (e.Text.Length - 1)) Then
                e.Handled = True
            End If
        End Sub
    Donc je vais le répéter 4 fois car j'ai 4 textbox.

    J'avance et c'est très plaisant merci encore @Miska59, je me concentre sur la suite ! Je reviens pour montrer ou j'en suis.

  16. #36
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2013
    Messages
    1 544
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2013
    Messages : 1 544
    Points : 3 467
    Points
    3 467

    Par défaut

    Citation Envoyé par Miska59 Voir le message
    Voici la solution pour accepter que des chiffres et la touche returns :
    Bonjour,

    Je ne suis pas trop fan de donner les réponses clef en main, d'autant plus quand la personne dit explicitement "j'essaye de mon coté". La recherche et la compréhension des problèmes sont une part très importante de l'apprentissage. Faire un copier-coller va lui résoudre le problème sans qu'il ai besoin de comprendre..

    Citation Envoyé par ism10
    (Message aux Modos : j'ai reçu un avertissement mais je n'ai pas encore résolu car il me reste encore 2 problèmes et je compte intervenir encore désolé si mon dernier message porte à confusion. Donc s'il vous plait ne passez pas mon sujet en "résolu" merci :-))
    Je pense que l'avertissement est du au fait que tu traites plusieurs problèmes différents sur un seul sujet. Pour rendre plus efficace le forum il préférable de faire une problématique = un post. Ainsi les prochains qui se poseront la question du masque pourront utiliser les réponses de ce post.

  17. #37
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2013
    Messages
    1 544
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2013
    Messages : 1 544
    Points : 3 467
    Points
    3 467

    Par défaut

    Citation Envoyé par ism10 Voir le message
    Donc je vais le répéter 4 fois car j'ai 4 textbox.
    Ah sacrilège ! On ne fait pas de recopie de code ! Si tu regardes bien ton code, à côté de la signature de méthode il y a le mot clef Handles suivit de PassWordA.KeyQuelqueChose.

    En fait, ça veux dire que la méthode sera exécutée lorsque l'événement PassWordA.KeyQuelqueChose sera levé. C'est l'équivalent à : AddHandler PassWordA.KeyQuelqueChose, AddressOf MaMethode

    Afin d'éviter de répéter inutilement le code, tu peux ajouter plusieurs événements derrières ce handles. Exemple :

    Handles A.KeyPress, B.KeyPress, C.KeyPress

  18. #38
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2017
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 113
    Points : 31
    Points
    31

    Par défaut

    Bonjour @ZenZiTone

    Je pense que l'avertissement est du au fait que tu traites plusieurs problèmes différents sur un seul sujet. Pour rendre plus efficace le forum il préférable de faire une problématique = un post. Ainsi les prochains qui se poseront la question du masque pourront utiliser les réponses de ce post.
    Ça marche ! C'est noté je passe le sujet en "Résolu" !

    Ah sacrilège ! On ne fait pas de recopie de code ! ........... Exemple : Handles A.KeyPress, B.KeyPress, C.KeyPress
    Purée ! Le pire c'est que j'ai déjà utilisé cette méthode...

    Bon je retourne sur Sharpdevelop afin d'avancer encore !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/07/2010, 14h18
  2. [DOM] DOM mettre des espaces entre chaque ligne
    Par gentil dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 02/04/2009, 17h35
  3. Réponses: 3
    Dernier message: 20/06/2008, 21h10
  4. Réponses: 2
    Dernier message: 17/06/2008, 21h14
  5. [PHP-JS] créer des espaces entre les mots php
    Par dgac2000 dans le forum Débuter
    Réponses: 8
    Dernier message: 31/05/2007, 11h30

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