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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 38
    Points : 7
    Points
    7

    Par défaut Mettre des espaces entre chaque caractère du mot de passe d'un Password

    Bonjour à tous !

    Je cherche un peu d'aide s'il vous plait ! (je débute en Vb.net, Wpf etc..., je suis en alternance)

    Voici mon code et en fait je voudrai mettre des espaces entre chaque caractère du mot de passe voici mon Xaml :

    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <Window
    x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Password"
    Height="300"
    Width="860">
    <Grid>
     
    <Grid Name="UserAccessGrid" ShowGridLines="False">
    <Grid.ColumnDefinitions>
    <ColumnDefinition Width="128" />
    <ColumnDefinition Width="*" />
    <ColumnDefinition Width="297" />
    <ColumnDefinition Width="13" />
    <ColumnDefinition Width="297" />
    <ColumnDefinition Width="*" />
    <ColumnDefinition Width="128" />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
    <RowDefinition Height="*" />
    <RowDefinition Height="39" />
    <RowDefinition Height="81" />
    <RowDefinition Height="97" />
    <RowDefinition Height="*" />
    <RowDefinition Height="90" />
    <RowDefinition Height="170" />
    </Grid.RowDefinitions>
    <TextBlock Name="ComMenuTextA" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="3" Text="Preferences access code ?" FontSize="26" Foreground="#FF8AD4E8" FontFamily="Gotham" FontWeight="Light" HorizontalAlignment="Center" Background="Transparent"/>
    <Grid Name="AccessCodeGrid" ShowGridLines="False" Grid.Row="3" Grid.Column="2" Grid.ColumnSpan="3" Background="White">
    <Grid.ColumnDefinitions>
    <ColumnDefinition Width="94" />
    <ColumnDefinition Width="83" />
    <ColumnDefinition Width="29" />
    <ColumnDefinition Width="83" />
    <ColumnDefinition Width="29" />
    <ColumnDefinition Width="83" />
    <ColumnDefinition Width="29" />
    <ColumnDefinition Width="83" />
    <ColumnDefinition Width="94" />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
    <RowDefinition Height="14" />
    <RowDefinition Height="58" />
    <RowDefinition Height="5" />
    <RowDefinition Height="20" />
    </Grid.RowDefinitions>
    <PasswordBox
    Name="passwordBox"
    PasswordChanged="passwordBox_PasswordChanged"
    FontFamily="Gotham"
    FontSize="95"
    FontWeight="SemiBold"
    Grid.Column="1" 
    Grid.ColumnSpan="7"
    Grid.Row="0"
    Grid.RowSpan="3"
    HorizontalAlignment="Center"
    VerticalAlignment="Stretch"
    Margin="0,0,0,5"
    Width="410" 
    Height="90"/>
    <TextBlock Name="PassWordA" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="1" Background="Transparent" Width="50"/>
    <TextBlock Name="PassWordB" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="3" Background="Transparent" Width="50"/>
    <TextBlock Name="PassWordC" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="5" Background="Transparent" Width="50"/>
    <TextBlock Name="PassWordD" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="7" Background="Transparent" Width="50"/>
     
     
    </Grid>
    </Grid>
    </Grid>
    </Window>


    Et voici mon .VB :

    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
     
     
    '
    ' Created by SharpDevelop.
    ' User: Ism
    ' Date: 05/01/2018
    ' Time: 13:01
    ' 
    ' To change this template use Tools | Options | Coding | Edit Standard Headers.
    '
    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 MainWindow.xaml
    ''' </summary>
    Public Partial Class MainWindow
    Inherits Window
     
    Public Sub New()
    InitializeComponent()
    End Sub
     
    Private Sub passwordBox_PasswordChanged(ByVal sender As Object, ByVal e As RoutedEventArgs)
    'PassWordA = passwordBox
    'PassWordB = passwordBox 
    'PassWordC = passwordBox 
    'PassWordD = passwordBox 
     
    passwordBox.MaxLength = "4"
    passwordBox.PasswordChar="*"
     
    If passwordBox.Password = "4321" Then
    MessageBox.Show("ok")
    Else 
     
    End If
     
    End Sub
     
    End Class






    Voici ce que je veux


    Nom : Les espaces.PNG
Affichages : 98
Taille : 22,2 Ko




    et ça c'est ce que j'ai avec mon code...


    Nom : Moi ce que j'ai.PNG
Affichages : 104
Taille : 31,5 Ko

    J'ai créer ceci : PasswordA(-B-C-D) et je voudrai en fait que chaque caractère de mon mot de passe s'affiche espacé donc prennent la place de passwordA B C et D ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <TextBlock Name="PassWordA" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="1" Background="Transparent" Width="50"/>
    <TextBlock Name="PassWordB" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="3" Background="Transparent" Width="50"/>
    <TextBlock Name="PassWordC" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="5" Background="Transparent" Width="50"/>
    <TextBlock Name="PassWordD" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="7" Background="Transparent" Width="50"/>

    je vois pas comment faire avec mon code ? Je cherche depuis 2-3 jours mais je n'y arrive pas...

    Pouvez vous m'aider svp ??

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2018
    Messages
    11
    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 : 11
    Points : 22
    Points
    22

    Par défaut

    Bonjour,

    voici un exemple pour espacé entre les chiffres en VB.NET mais sans passwordchar car il m'affiche "*" dans les espaces :
    Nom : Sans titre.jpg
Affichages : 76
Taille : 8,7 Ko

    voici le code :
    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
    Imports System.Text
     
    Public Class Form1
     
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            TextBox1.TextAlign = HorizontalAlignment.Center ' centrer le texte
            TextBox1.MaxLength = 4 ' maxi 4 chiffre
        End Sub
     
        Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
            If TextBox1.Text.Length = 4 Then ' arriver au 4 chiffre
                Dim builder As New StringBuilder(TextBox1.Text) ' lire dans textbox1
                Dim start = If(builder.Length Mod 2 = 1, builder.Length - 1, builder.Length - 1) ' calaculer dans textbox1
                For i As Int32 = start To 1 Step -1 ' 1 chiffre esapce entre les nombres
                    builder.Insert(i, " "c) ' espace entre les chiffres
                Next i
                TextBox1.Text = builder.ToString() ' affiche dans textbox1.text espace 4 chiffre ( ex : 5555 => 5 5 5 5)
            End If
        End Sub
    End Class
    c'est déjà un début,
    Cordialement,

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 38
    Points : 7
    Points
    7

    Par défaut

    Bonjour merci pour la réponse premièrement !

    Bonjour,

    Merci pour la réponse !

    En fait je voudrai faire concorder mon textblock nommé PasswordA-B-C-D avec mon passwordbox.

    Voici mon code pour être le plus clair possible :


    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
                            <TextBlock Name="PassWordA" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="1" Background="Transparent" />
    			<TextBlock Name="PassWordB" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="3" Background="Transparent" />
    			<TextBlock Name="PassWordC" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="5" Background="Transparent" />
    			<TextBlock Name="PassWordD" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="7" Background="Transparent" />
    				<PasswordBox
    					Name="passwordBox"
    					PasswordChanged="passwordBox_PasswordChanged"
    				        PasswordChar="*"
    				        MaxLength="4"
    					FontFamily="Gotham"
    					FontSize="95"
    					FontWeight="SemiBold"
    					Grid.Column="0"
    					Grid.ColumnSpan="9"
    					Grid.Row="0"
    					Grid.RowSpan="4"
    					HorizontalAlignment="Center"
    					VerticalAlignment="Stretch"
    					Margin="0,8,0,7"
    					Width="595" />

    Je voudrai en fait qu'a chaque touche clavier (le mot de passe est composé de 4 caractères) que je presse et bien le caractère s'affiche au niveau de mon textblock nommé passwordA passwordB passwordC passwordD.

    Comment faire je ne vois pas... ?

    Voici une image, chaque tiret bleu (textblock : PasswordA-B-B-D) représente l'endroit ou je veux que mon caractère du mot de passe s'affiche :

    Nom : blue.PNG
Affichages : 68
Taille : 32,4 Ko

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 38
    Points : 7
    Points
    7

    Par défaut

    (Ce que j'ai posté plus haut est une autre méthode que j'ai essayée, j'ai utilisé PassWordBox, mais en réalité selon mon tuteur de stage il est possible avec le code ci-dessous de réaliser ce que je veux faire c'est à dire taper un mot de passe dans mon logiciel (je ne peux le montrer car confidentiel))


    J'ai ce code là

    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
    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 = "" 
     
     
    	Public Sub New()
    		InitializeComponent()
    		UserAccessGrid.Focus()
    		'AccessCodeGrid.Focus()
     
    		AddHandler UserAccessGrid.KeyDown, AddressOf UserAccessKeyDownEventHandler
    		'AddHandler AccessCodeGrid.KeyDown, AddressOf AccessCodeKeyDownEventHandler
    		AddHandler PassWordA.KeyDown, AddressOf MainWindowKeyDownEventHandler
    		'AddHandler PassWordB.KeyDown, AddressOf MainWindowKeyDownEventHandler
    		'AddHandler PassWordC.KeyDown, AddressOf MainWindowKeyDownEventHandler
    		'AddHandler PassWordD.KeyDown, AddressOf MainWindowKeyDownEventHandler
    	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 = ""  '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
    Mon XAML :
    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
    	<Grid>
    			<Grid Name="UserAccessGrid" ShowGridLines="False">
    		<Grid.ColumnDefinitions>
    			<ColumnDefinition Width="128" />
    			<ColumnDefinition Width="*" />
    			<ColumnDefinition Width="297" />
    			<ColumnDefinition Width="13" />
    			<ColumnDefinition Width="297" />
    			<ColumnDefinition Width="*" />
    			<ColumnDefinition Width="128" />
    		</Grid.ColumnDefinitions>
    		<Grid.RowDefinitions>
    			<RowDefinition Height="*" />
    			<RowDefinition Height="39" />
    			<RowDefinition Height="81" />
    			<RowDefinition Height="97" />
    			<RowDefinition Height="*" />
    			<RowDefinition Height="90" />
    			<RowDefinition Height="170" />
    		</Grid.RowDefinitions>
    		<TextBlock Name="ComMenuTextA" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="3" Text="Preferences access code ?" FontSize="26" Foreground="#FF8AD4E8" FontFamily="Gotham" FontWeight="Light" HorizontalAlignment="Center" Background="Transparent"/>
    		<Grid Name="AccessCodeGrid" ShowGridLines="False" Grid.Row="3" Grid.Column="2" Grid.ColumnSpan="3" Background="White">
    			<Grid.ColumnDefinitions>
    				<ColumnDefinition Width="94" />
    				<ColumnDefinition Width="83" />
    				<ColumnDefinition Width="29" />
    				<ColumnDefinition Width="83" />
    				<ColumnDefinition Width="29" />
    				<ColumnDefinition Width="83" />
    				<ColumnDefinition Width="29" />
    				<ColumnDefinition Width="83" />
    				<ColumnDefinition Width="94" />
    			</Grid.ColumnDefinitions>
    			<Grid.RowDefinitions>
    				<RowDefinition Height="14" />
    				<RowDefinition Height="58" />
    				<RowDefinition Height="5" />
    				<RowDefinition Height="20" />
    			</Grid.RowDefinitions>
    			<TextBlock Name="PassWordA" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="1" Background="Blue" Width="50"/>
    			<TextBlock Name="PassWordB" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="3" Background="Blue" Width="50"/>
    			<TextBlock Name="PassWordC" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="5" Background="Blue" Width="50"/>
    			<TextBlock Name="PassWordD" Text="" FontFamily="Gotham" FontSize="95" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="7" Background="Blue" Width="50"/>
     
    </Grid>
    Mais impossible de taper mon code, le clavier n'est pas reconnu je ne comprends pas !

    Quelqu'un pour m'aider svp ?

  5. #5
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2013
    Messages
    1 419
    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 419
    Points : 3 134
    Points
    3 134

    Par défaut

    Citation Envoyé par ism10 Voir le message
    Mais impossible de taper mon code, le clavier n'est pas reconnu je ne comprends pas !
    Ton clavier est bien reconnu. Si tu mets un point d'arrêt sur la méthode UserAccessKeyDownEventHandler, il devrait s'y arrêter lorsque tu fais une action clavier. Le fait est que dans cette méthode du ne fais que modifier la propriété Password.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 38
    Points : 7
    Points
    7

    Par défaut

    Salut merci pour ta réponse !

    J'ai réussi mais maintenant je cherche en fait à pouvoir faire un focus dans ma première textbox nommée PassWordA.

    Donc j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	Private Sub UserAccess_Shown(sender As Object, e As EventArgs) Handles MyBase.Loaded
    				PassWordA.Focus()
    	        End Sub
    Lorsque je vais dans mon .xaml et que je visualise sans lancer l'app ça fonctionne mais lorsque je lance mon app je suis obligé de cliquer/tabuler dans ma textbox pour écrire. En fait je n'arrive pas à faire de focus sur PassWordA.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <TextBox Name="PassWordA" Text="" FontFamily="Gotham" FontSize="50" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="1" Background="Transparent" MaxLength="1" TabIndex="1"/>
    			<TextBox Name="PassWordB" Text="" FontFamily="Gotham" FontSize="50" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="3" Background="Transparent" MaxLength="1" TabIndex="2"/>
    			<TextBox Name="PassWordC" Text="" FontFamily="Gotham" FontSize="50" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="5" Background="Transparent" MaxLength="1" TabIndex="3"/>
    			<TextBox Name="PassWordD" Text="" FontFamily="Gotham" FontSize="50" FontWeight="SemiBold" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="7" Background="Transparent" MaxLength="1" TabIndex="4"/>
    J'aimerai aussi que lorsque je tape un chiffre pour mon mot de passe j'aimerai que ça tabule automatique vers mon autre textbox nommée PassWordB etc...
    Comment faire ?

    Enfin comment réinitialiser mes textbox à chaque fois que je quitte la page, en fait lorsque je tape mon mot de passe je rentre dans le sous menu et lorsque je fais précédent et que je reviens sur la page "tapez votre mot de passe" le mot de passe que j'ai tapé précédemment est encore présent !

    Donc comment faire pour effacer le mot lorsque je quitte la page "mot de passe" et que je reviens ???

    Merci d'avance et merci Miska59 pour l'aide !

  7. #7
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2013
    Messages
    1 419
    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 419
    Points : 3 134
    Points
    3 134

    Par défaut

    Citation Envoyé par ism10 Voir le message
    je cherche en fait à pouvoir faire un focus dans ma première textbox nommée PassWordA.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	Private Sub UserAccess_Shown(sender As Object, e As EventArgs) Handles MyBase.Loaded
    				PassWordA.Focus()
    	        End Sub
    Après essai, il semblerait effectivement que Focus() ne fonctionne pas. Tu as d'ailleurs une méthode CanFocus() qui te retourne un booléen indiquant si tu peux ou non mettre le focus dessus (il retourne false ici).
    De ce que j'ai lu sur le net il faudrait utiliser le Select().

    Citation Envoyé par ism10 Voir le message
    J'aimerai aussi que lorsque je tape un chiffre pour mon mot de passe j'aimerai que ça tabule automatique vers mon autre textbox nommée PassWordB etc...
    Comment faire ?
    Tu peux simplement le faire en faisant un test de valeur sur ton handler de KeyDown. Par contre il faut s'assurer que le nom de l'utilisateur ne peut pas contenir de chiffres..

    Citation Envoyé par ism10 Voir le message
    Enfin comment réinitialiser mes textbox à chaque fois que je quitte la page, en fait lorsque je tape mon mot de passe je rentre dans le sous menu et lorsque je fais précédent et que je reviens sur la page "tapez votre mot de passe" le mot de passe que j'ai tapé précédemment est encore présent !

    Donc comment faire pour effacer le mot lorsque je quitte la page "mot de passe" et que je reviens ???
    Là, c'est un problème de design. Ton formulaire d'authentification ne devrait pas être le parent des formulaires suivant.

    En général, on a un formulaire principale depuis lequel on affiche un formulaire d'authentification. Le retour de l'authentification indique si le formulaire principale peut ou non afficher les autres formulaires.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 38
    Points : 7
    Points
    7

    Par défaut

    Merci ZenZiTone pour les réponses !

    Après essai, il semblerait effectivement que Focus() ne fonctionne pas. Tu as d'ailleurs une méthode CanFocus() qui te retourne un booléen indiquant si tu peux ou non mettre le focus dessus (il retourne false ici).
    De ce que j'ai lu sur le net il faudrait utiliser le Select().
    Je suis avec sharpdevelop et je ne trouve pas du tout la méthode CanFocus(), cependant j'ai placé PassWordA.Focus() ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Sub New()
    		InitializeComponent
    		'UserAccessGrid.Focus()
    		PassWordA.Focus() ' <=========== ICI ==========<
     
    		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
    Nom : cursor.PNG
Affichages : 62
Taille : 10,1 Ko

    et malheureusement le curseur apparaît bel et bien mais ne clignote pas tant que je ne clique pas dans ma textbox....
    je rappelle tout à l'heure j'ai fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	Private Sub UserAccess_Shown(sender As Object, e As EventArgs) Handles MyBase.Loaded
    				PassWordA.Focus() 
    	        End Sub
    et là je n'avais pas le curseur qui s'affiche.




    Ensuite pour
    Tu peux simplement le faire en faisant un test de valeur sur ton handler de KeyDown. Par contre il faut s'assurer que le nom de l'utilisateur ne peut pas contenir de chiffres..
    je ne vois pas ce que je dois faire peux-tu me guider ? Pour ce qui est du nom d'utilisateur il n'y en a pas car c'est un mot de passe pour accéder à un sous menu nul besoin de nom utilisateur.


    Merci encore pour le temps que tu as pris pour me répondre !!

  9. #9
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2013
    Messages
    1 419
    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 419
    Points : 3 134
    Points
    3 134

    Par défaut

    Citation Envoyé par ism10 Voir le message
    Pour ce qui est du nom d'utilisateur il n'y en a pas car c'est un mot de passe pour accéder à un sous menu nul besoin de nom utilisateur.
    Ah, désolé, j'avais pas compris qu'un textbox = 1 caractère du mot de passe. Dans ce cas tu peux t'abonner à l'événement TextChanged de ton textbox.

    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
     
     Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
            TextBox2.Select()
        End Sub
     
        Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
            TextBox3.Select()
        End Sub
     
        Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged
            TextBox4.Select()
        End Sub
     
        Private Sub TextBox4_TextChanged(sender As Object, e As EventArgs) Handles TextBox4.TextChanged
            'Envoyer la validation
        End Sub
    Citation Envoyé par ism10 Voir le message
    et malheureusement le curseur apparaît bel et bien mais ne clignote pas tant que je ne clique pas dans ma textbox....
    Le curseur à le focus? Si tu tapes quelque chose au clavier, il vient bien le remplir?

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 38
    Points : 7
    Points
    7

    Par défaut

    Merci Beaucoup le code fonctionne bien !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	 Private Sub PassWordA_TextChanged(sender As Object, e As EventArgs) Handles PassWordA.TextChanged
            PassWordB.Focus()
     	End Sub
     	Private Sub PassWordB_TextChanged(sender As Object, e As EventArgs) Handles PassWordA.TextChanged
            PassWordB.Focus()
     	End Sub
     	Private Sub PassWordC_TextChanged(sender As Object, e As EventArgs) Handles PassWordB.TextChanged
            PassWordC.Focus()
     	End Sub
      	Private Sub PassWordD_TextChanged(sender As Object, e As EventArgs) Handles PassWordC.TextChanged
            PassWordD.Focus()
     	End Sub
    Ensuite pour ce qui de
    Le curseur à le focus? Si tu tapes quelque chose au clavier, il vient bien le remplir?
    je me suis peut être mal exprimé en fait je voulais parler de la barre verticale qui clignote "|"
    Je ne parle pas de ça :

    Nom : Curseur.PNG
Affichages : 57
Taille : 13,4 Ko

    Lorsque je lance l'app il y a dans ma textbox (la 1ere) une barre verticale "|" qui est figée mais qui est censée clignoter pour m'indiquer que je peux écrire or ici elle ne clignote pas.
    Je suite donc obligé de tabuler ou de cliquer avec la souris dans la textbox pour pouvoir écrire dans celle ci.

  11. #11
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2013
    Messages
    1 419
    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 419
    Points : 3 134
    Points
    3 134

    Par défaut

    Citation Envoyé par ism10 Voir le message
    Lorsque je lance l'app il y a dans ma textbox (la 1ere) une barre verticale "|" qui est figée mais qui est censée clignoter pour m'indiquer que je peux écrire or ici elle ne clignote pas.
    Je suite donc obligé de tabuler ou de cliquer avec la souris dans la textbox pour pouvoir écrire dans celle ci.
    On s'est bien compris Il se peut que le focus soit effectivement sur la textbox mais que la barre ne clignote pas. J'ai fait le test avec l'utilisation du Select (sur du Winform, il se peut que le comportement soit différent en WPF) et ça fonctionne bien.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 38
    Points : 7
    Points
    7

    Par défaut

    Merci encore pour le temps que tu m'as consacré ZenZiTone !

    Oui je sens que je suis à 2 doigts de réussir mais hélas...

    J'ai 2 questions :

    La 1ere : Aurais-tu une idée de comment pouvoir utiliser la touche entrer ET le bouton "valider" (soit l'un soit l'autre) ?
    La 2eme : Lorsque je tape mes 4 chiffres pour le mot de passe j'aimerai que lorsque je tape un chiffre de plus (dans ma textbox 4 nommée PassWordD) je passe à ma textbox 1 donc PassWordA tt en effaçant celle ci ! Lorsque je rentre chez moi et je poste ce que j'ai fait mais c'est pas top top j'obtiens pas ce que je veux... Donc si tu as une idée ou une réponse n'hésite pas !

    Désolé vraiment de poser tant de question mais j'ai énormément avancé avec toi donc j'en profite un peu ! :D

    Merci sincèrement !

  13. #13
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2013
    Messages
    1 419
    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 419
    Points : 3 134
    Points
    3 134

    Par défaut

    Citation Envoyé par ism10 Voir le message
    La 1ere : Aurais-tu une idée de comment pouvoir utiliser la touche entrer ET le bouton "valider" ?
    Dans ce que tu présentes, pourquoi ne pas valider directement lorsque le quatrième chiffre est saisit? (en vérifiant au préalable que les quatre chiffres sont saisi)


    Citation Envoyé par ism10 Voir le message
    La 2eme : Lorsque je tape mes 4 chiffres pour le mot de passe j'aimerai que lorsque je tape un chiffre de plus (dans ma textbox 4 nommée PassWordD) je passe à ma textbox 1 donc PassWordA tt en effaçant celle ci ! Lorsque je rentre chez je vois je poste ce que j'ai fait mais c'est pas top top j'obtiens pas ce que je veux... Donc si tu as une idée ou une réponse n'hésite pas !
    Hum pour faire simple tu peux utiliser SelectAll qui te permet de sélectionner le texte.

    Su l'exemple précédent, ça donnerait ça :

    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
    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
            TextBox2.Select()
            TextBox2.SelectAll()
        End Sub
     
        Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
            TextBox3.Select()
    TextBox3.SelectAll()
        End Sub
     
        Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged
            TextBox4.Select()
    TextBox4.SelectAll()
        End Sub
     
        Private Sub TextBox4_TextChanged(sender As Object, e As EventArgs) Handles TextBox4.TextChanged
             TextBox1.Select()
    TextBox1.SelectAll()
        End Sub

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2018
    Messages
    11
    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 : 11
    Points : 22
    Points
    22

    Par défaut

    Bonsoir,

    j'ai trouver une solution avec MaskedTextBox pour entrer votre mot de passe en wpf en vb.net.
    Voici en image :
    Nom : Capture.JPG
Affichages : 51
Taille : 11,2 Ko

    Voici ce que vous faires:

    - cliquez avec le bouton droit sur votre projet et sélectionnez ajouter, puis classe
    - appelez la classe MaskedTextBox.vb
    - ajouter la déclaration des importations tout en bas

    voici le code de class MaskedTextBox.vb
    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
    Imports System.ComponentModel
     
    Public Class MaskedTextBox
        Inherits System.Windows.Controls.TextBox
     
        Public Shared maskproperty As DependencyProperty
     
        Shared Sub New()
            maskproperty = DependencyProperty.Register("Mask", GetType(String), GetType(MaskedTextBox), New FrameworkPropertyMetadata(AddressOf maskchanged))
            Dim metadata As New FrameworkPropertyMetadata()
            metadata.CoerceValueCallback = AddressOf coercetext
            TextProperty.OverrideMetadata(GetType(MaskedTextBox), metadata)
        End Sub
     
        Private Shared Function coercetext(ByVal d As DependencyObject, ByVal value As Object)
            Dim textbox As MaskedTextBox = CType(d, MaskedTextBox)
            Dim maskprovider As New MaskedTextProvider(textbox.Mask)
            maskprovider.Set(CStr(value))
            Return maskprovider.ToDisplayString()
        End Function
     
        Public Property Mask() As String
            Get
                Return CStr(GetValue(maskproperty))
            End Get
     
            Set(ByVal value As String)
                SetValue(maskproperty, value)
            End Set
        End Property
     
        Private Function getmaskprovider() As MaskedTextProvider
            Dim maskprovider As New MaskedTextProvider(Mask)
            maskprovider.Set(Text)
            Return maskprovider
        End Function
     
        Private Sub refreshtext(ByVal maskprovider As MaskedTextProvider, ByVal pos As Integer)
            Me.Text = maskprovider.ToDisplayString()
            Me.SelectionStart = pos
        End Sub
     
        Public ReadOnly Property maskcompleted() As Boolean
            Get
                Dim maskprovider As MaskedTextProvider = getmaskprovider()
                Return maskprovider.MaskCompleted
            End Get
        End Property
     
        Private Shared Sub maskchanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
            Dim textbox As MaskedTextBox = CType(d, MaskedTextBox)
            d.CoerceValue(TextProperty)
            Dim maskprovider As MaskedTextProvider = textbox.getmaskprovider()
            textbox.refreshtext(maskprovider, 0)
        End Sub
     
        Private Function skiptoeditablecharacter(ByVal startpos As Integer) As Integer
            Dim maskprovider As MaskedTextProvider = getmaskprovider()
            Dim newpos As Integer = maskprovider.FindEditPositionFrom(startpos, True)
            If newpos = -1 Then
                Return startpos
            Else
                Return newpos
            End If
        End Function
     
        Protected Overrides Sub OnPreviewTextInput(ByVal e As System.Windows.Input.TextCompositionEventArgs)
            Dim maskprovider As MaskedTextProvider = getmaskprovider()
            Dim pos As Integer = Me.SelectionStart
            If pos < Me.Text.Length Then
                pos = skiptoeditablecharacter(pos)
                If Keyboard.IsKeyToggled(Key.Insert) Then
                    If maskprovider.Replace(e.Text, pos) Then
                        pos += 1
                    End If
                Else
                    If maskprovider.InsertAt(e.Text, pos) Then
                        pos += 1
                    End If
                End If
                pos = skiptoeditablecharacter(pos)
            End If
            refreshtext(maskprovider, pos)
            e.Handled = True
            MyBase.OnPreviewTextInput(e)
        End Sub
     
        Protected Overrides Sub OnPreviewKeyDown(ByVal e As System.Windows.Input.KeyEventArgs)
            MyBase.OnKeyDown(e)
     
            Dim maskprovider As MaskedTextProvider = getmaskprovider()
            Dim pos As Integer = Me.SelectionStart
            If e.Key = Key.Delete AndAlso pos < (Me.Text.Length) Then
                If maskprovider.RemoveAt(pos) Then
                    refreshtext(maskprovider, pos)
                End If
                e.Handled = True
            ElseIf e.Key = Key.Back Then
                If pos > 0 Then
                    pos -= 1
                    If maskprovider.RemoveAt(pos) Then
                        refreshtext(maskprovider, pos)
                    End If
                End If
                e.Handled = True
            End If
        End Sub
    End Class
    mon xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <Window x:Class="MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="160" Width="371" xmlns:my="clr-namespace:WpfApplication1">
        <Grid Width="319" Height="104">
            <my:MaskedTextBox Height="23" HorizontalAlignment="Left" Margin="48,42,0,0" x:Name="MaskedTextBox1" VerticalAlignment="Top" Width="204" TextAlignment="Center" Mask="9 9 9 9" MaxLength="4" />
        </Grid>
    </Window>
    j'ai récupérer c'est information dans ce lien : http://www.vbforums.com/showthread.p...textbox-Really

    pour moi c'est la premier fois que utilise avec wpf en vb.net. mais problème c'est utiliser Passwordchar avec maskedtextbox .
    cordialement,

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 38
    Points : 7
    Points
    7

    Par défaut

    Merci énormément Miska69 pour toutes ces réponses sincèrement merci pour le temps que vous m'avez consacré !

    j'ai trouver une solution avec MaskedTextBox pour entrer votre mot de passe en wpf en vb.net.
    Merci je vais étudier la fonction "MaskedTextBox" voir son fonctionnement, merci encore.

    Dans ce que tu présentes, pourquoi ne pas valider directement lorsque le quatrième chiffre est saisi ? (en vérifiant au préalable que les quatre chiffres sont saisi)
    En fait ce que je fais je le fais pour un logiciel confidentiel censé fonctionner sur une tablette Windows, le logiciel existe déjà sous Android je dois suivre ce qui existe sous Android et il s’avère qu'il faut cliquer sur le bouton "Valider" après avoir composé le mot passe pour accéder au sous menu. J'aimerai après avoir composé le mot de passe soit pouvoir cliquer le bouton "Valider" soit à l'aide de la touche "Entrée" pouvoir valider et donc pouvoir accéder au sous menu.



    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
    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
            TextBox2.Select()
            TextBox2.SelectAll()
        End Sub
     
        Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
            TextBox3.Select()
    TextBox3.SelectAll()
        End Sub
     
        Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged
            TextBox4.Select()
    TextBox4.SelectAll()
        End Sub
     
        Private Sub TextBox4_TextChanged(sender As Object, e As EventArgs) Handles TextBox4.TextChanged
             TextBox1.Select()
    TextBox1.SelectAll()
        End Sub
    Pour ce qui est de ce code ,je compte l'étudier au travail demain et je reviens vers toi pour te dire si j'y arrive ou non !

    Merci encore 1000 fois pour tout ce temps consacré !!

    Bonne fin de soirée !

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 38
    Points : 7
    Points
    7

    Par défaut

    Bonjour !


    Alors ce code fonctionne parfaitement c'est exactement ce que je voulais faire :

    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
    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
            TextBox2.Select()
            TextBox2.SelectAll()
        End Sub
     
        Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
            TextBox3.Select()
    TextBox3.SelectAll()
        End Sub
     
        Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged
            TextBox4.Select()
    TextBox4.SelectAll()
        End Sub
     
        Private Sub TextBox4_TextChanged(sender As Object, e As EventArgs) Handles TextBox4.TextChanged
             TextBox1.Select()
    TextBox1.SelectAll()
        End Sub
    Sauf que moi j'ai plutôt des .Focus() au lieu de .Select() car lorsque je mets .Select j'obtiens 2 erreurs mais ça ne change rien je présume.

    Argument non spécifié pour le paramètre 'start' de 'Public Sub Slect(start AS Integer, length AS Interger)'. (BC30455)
    Argument non spécifié pour le paramètre 'length' de 'Public Sub Slect(start AS Integer, length AS Interger)'. (BC30455)
    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
    	 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
    Je cherche maintenant un moyen de pouvoir soit cliquer sur le bouton valider à l'aide de la souris soit à l'aide de la touche entrée.

    J'essaye en ce moment même.

    Merci ZenZiTone !

  17. #17
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2013
    Messages
    1 419
    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 419
    Points : 3 134
    Points
    3 134

    Par défaut

    Citation Envoyé par ism10 Voir le message
    Sauf que moi j'ai plutôt des .Focus() au lieu de .Select() car lorsque je mets .Select j'obtiens 2 erreurs mais ça ne change rien je présume.

    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
    	 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
    Ce n'est pas étonnant, j'ai fais mes tests en Winform. Les objets WPF sont sûrement un peu différents. Du moment que cela fonctionne c'est bien !

    Citation Envoyé par ism10 Voir le message
    Je cherche maintenant un moyen de pouvoir soit cliquer sur le bouton valider à l'aide de la souris soit à l'aide de la touche entrer.
    Pour le bouton Valider je suppose que ça ne pose pas de problème (il faut juste s'abonner à l'événement Click). Pour la touche Entrée, il faut s'abonner à l'événement KeyDown de ton formulaire. Ton handler recevra en paramètre un objet te permettant de récupérer la touche qui a générée l'action. Il faudra donc vérifier si celle-ci est "Entrée". Le cas échéant tu pourras exécuter ta procédure de validation.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 38
    Points : 7
    Points
    7

    Par défaut

    Je ne sais pas pourquoi j'ecris touche "entrer" au lieu de touche "entrée"... je corrige ça.

    Pour le bouton Valider je suppose que ça ne pose pas de problème
    Oui oui la touche "valider" est fonctionnelle elle me permet d’accéder au sous menu après avoir tapé mon mot de passe, ça c'est plutôt facile !

    Pour la touche Entrée, il faut s'abonner à l'événement KeyDown de ton formulaire. Ton handler recevra en paramètre un objet te permettant de récupérer la touche qui a générée l'action. Il faudra donc vérifier si celle-ci est "Entrée". Le cas échéant tu pourras exécuter ta procédure de validation.
    Pour ce qui est de KeyPress ou KeyDown j'ai des erreurs lorsque je les utilise, peut être par rapport aux "imports", il me manque peut être une "bibliothèque"

    Je fais quelque essai et je reviens

    Merci pour l’énorme aide !

    Donc j'ai essayé quelque chose avec ça pour la touche entrée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      Private Sub Enter_KeyDown(sender As Object, e As System.Windows.Input.KeyEventArgs) Handles PassWordD.KeyDown
     
      		 If e.Key = Key.Enter  Then 
      			PassWordA.Focus()
            	        MessageBox.Show("Right")
                     End If	
                  End Sub
    ça fonctionne mais tu avais raison ça ne sert strictement à rien je viens de le tester sur la tablette Windows... on a plus tendance à se diriger vers le bouton valider (tactile) que chercher à appuyer "entrée" sur un clavier tactile.....

    Il faudrait que je règle la vitesse d'affichage de mes caractères dans chaque textbox parce que quand j'ai fait le test sur la tablette windows il s'avère que lorsque j'appuie sur le "1" par exemple, il a tendance à continuer à s'afficher sur les autres textbox.

    Il est possible de rendre transparent le cadre des textbox ? Parce que esthétiquement c'est un peu moche.


    Nom : textbox.PNG
Affichages : 47
Taille : 16,6 Ko

  19. #19
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2013
    Messages
    1 419
    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 419
    Points : 3 134
    Points
    3 134

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 38
    Points : 7
    Points
    7

    Par défaut

    Fonctionne parfaitement Merci encore et toujours !!

    Je cherche à présent un moyen de réduire la vitesse d'écriture d'un caractère dans la textbox dans un premier temps car lorsque je tape par exemple le chiffre "1" alors il s'écrit dans ma textbox1 mais aussi dans ma textbox2 mais le problème c'est que ça n’apparaît que lorsque je lance le logiciel sur la tablette Windows ce n'est pas du tout visible lorsque je lance le logiciel sur mon Pc ! Comment faire pour que ça ne déborde pas sur l'autre textbox ? Si vous avez des idées je suis preneur je veux bien tester. Je penche dessus depuis 1h30-2h ça me parait compliqué puisque ce n'est visible que sur la tablette...

    Nom : bug_debordement.PNG
Affichages : 51
Taille : 11,4 Ko

    voilà ce qui se passe sur tablette lorsque je tape par exemple "1" dans la 1er textbox.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/07/2010, 15h18
  2. [DOM] DOM mettre des espaces entre chaque ligne
    Par gentil dans le forum JavaScript
    Réponses: 13
    Dernier message: 02/04/2009, 18h35
  3. Réponses: 3
    Dernier message: 20/06/2008, 22h10
  4. Réponses: 2
    Dernier message: 17/06/2008, 22h14
  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, 12h30

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