Partage
  • Partager sur Facebook
  • Partager sur Twitter

HELP Besoin d'aide MOT de PASSE : Password etc...

Vb.net, Wpf, Password, PasswordBox etc....

    5 janvier 2018 à 17:02:13

    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 :
    <?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 :
     
    '
    ' 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
    et ça c'est ce que j'ai avec mon code... 
     
    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 ??
    <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 ne vois pas comment faire avec mon code ? Je cherche depuis 2-3 jours mais je n'y arrive pas... 
    Pouvez vous m'aider svp ??
    • Partager sur Facebook
    • Partager sur Twitter
      5 janvier 2018 à 17:46:19

      • Partager sur Facebook
      • Partager sur Twitter
      Censément, quelqu'un de sensé est censé s'exprimer sensément.
        8 janvier 2018 à 10:22:53

        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 : 


        			<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"/>
        				<PasswordBox
        					Name="passwordBox"
        					PasswordChanged="passwordBox_PasswordChanged"
        					FontFamily="Gotham"
        					FontSize="95"
        					FontWeight="SemiBold"
        					Grid.Column="0"
        					Grid.ColumnSpan="9"
        					Grid.Row="1"
        					Grid.RowSpan="2"
        					HorizontalAlignment="Stretch"
        					VerticalAlignment="Center"
        					Margin="6,0,6,0"
        					Height="58.9" />






        Je voudrai en fait qu'a chaque touche clavier (le code 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 :

        -
        Edité par Isma T 8 janvier 2018 à 11:30:26

        • Partager sur Facebook
        • Partager sur Twitter
          9 janvier 2018 à 13:08:22

          Mon idée est de mettre 2 textbox, un où il faut écrire et un où le résultat sera donné:

          Public Class Form1
              Dim IncrementEspace = "  "
              Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
                  TextBox2.Text = ""
                  For Each i As String In TextBox1.Text
                      TextBox2.Text += i & IncrementEspace
                  Next
              End Sub
          End Class

          Ce qui fera que quand l'utilisateur écrira "salut" dans le textbox1, le texte du textbox2 sera "s  a  l  u  t".

          Tu peux modifier à tout moment l'IncrementEspace afin d'ajouter des décalages ou modifier le séparateur.

          • Partager sur Facebook
          • Partager sur Twitter
            10 janvier 2018 à 16:54:16

            Merci @jomtek.

            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 ! Comment faire pour que ça ne déborde pas ?

            Et j'ai une deuxième question comment faire pour 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 ???
            • Partager sur Facebook
            • Partager sur Twitter
              10 janvier 2018 à 22:17:21

              C'est normal que le mot de passe s'écrive dans les deux textbox.

              Dans les paramètres de la textbox1, vous modifiez le paramètre "Visible" et vous le configurez en "False".

              Puis il vous suffit de créer un timer, d'y configurer l'option "Enabled" en "True" et d'y entrer ce code:

              Textbox1.Focus()

              L'utilisateur va alors écrire son mot de passe, et le résultat s'affichera dans la textbox2, celle qui n'est pas cachée.

              Pour réinitialiser vos textbox, rien de plus simple:

              Dans l'évenement qui se lance lorsque vous quittez la page, entrez ce code:

              Textbox1.Clear()

              Textbox2.Clear()

              Si ça ne marche toujours pas, il faut alors créer un bouton "Sauvegarder", dans lequel vous rentrerez:

              Textbox1.Clear()

              Textbox2.Clear()

              Me.Hide()

              En espérant vous avoir aidé. Bonne soirée !

              • Partager sur Facebook
              • Partager sur Twitter
                11 janvier 2018 à 14:13:45

                Merci beaucoup pour vos réponses @jomtek

                "Puis il vous suffit de créer un timer, d'y configurer l'option "Enabled" en "True" et d'y entrer ce code: Textbox1.Focus()"

                Je ne vois pas comment créer un Timer ?

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





                • Partager sur Facebook
                • Partager sur Twitter
                  15 janvier 2018 à 10:26:53

                  Bonjour !

                  J'aimerai savoir comment faire pour 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 !

                  Quelqu'un a une idée ?!

                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 janvier 2018 à 3:21:29

                    Isma T a écrit:

                    Merci beaucoup pour vos réponses @jomtek

                    "Puis il vous suffit de créer un timer, d'y configurer l'option "Enabled" en "True" et d'y entrer ce code: Textbox1.Focus()"

                    Je ne vois pas comment créer un Timer ?

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

                    Pour créer un timer, rendez-vous sur votre Form (cliquez sur "LeNomDeVotreFormDeMDP.vb [Design]") puis faites cette combinaison de touches: CTRL + ALT + X

                    Une boite d'outils va s'afficher, cherchez "Timer" et double-cliquez dessus. Il se trouvera en bas de votre écran lorsqu'il aura été créé.

                    Cliquez une fois dessus, et à droite, configurez l'option "Enabled" en "True".

                    Double-Cliquez maintenant dessus, et entrez le code "TextBox1.Focus()" dans le Sub Timer1.Tick qui va se créer tout seul.

                    Pour ce qui est de lancer automatiquement le clavier virtuel, au moment où vous voulez qu'il se lance, entrez cette ligne de code:

                    System.Diagnostics.Process.Start("osk.exe")

                    OSK étant le processus du clavier virtuel.

                    Pour régler le problème de réinitialisation de textbox, à l'événement (clic sur bouton, sub activé, timer, etc..) qui fait que votre page se cache/ferme, entrez cette ligne de code:

                    textboxMdp.Clear()

                    "textboxMdp" ici représente la textbox (ou textblock) qui contient le mot de passe entré.

                    Dans votre cas, je conseille ce code:

                    textBox1.Clear()
                    textBox2.Clear()




                    Merci d'avoir pris le temps de lire mes réponses. Si vous rencontrez un problème, tenez-moi informé afin que je puisse vous apporter mon aide.



                    • Partager sur Facebook
                    • Partager sur Twitter
                      19 février 2018 à 16:21:22

                      Merci d'avoir pris le temps de me répondre !

                      C'est très clair.

                      • Partager sur Facebook
                      • Partager sur Twitter

                      HELP Besoin d'aide MOT de PASSE : Password etc...

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown