Nobody Geschrieben 20. Oktober 2003 Geschrieben 20. Oktober 2003 Hallo zusammen für eines unserer Programme probiere ich gerade eine Passwortabfrage. Dazu habe ich zwei textboxen, in einer gibt man was ein. Bei jeder Änderung soll der letzte Buchstabe in die zweite Box übertragen werden und die erste Box entsprechend der Länge des Wortes mit "*" aufgefüllt werden. Und genau da ist mein Problem. Das übertragen des Passwortes funktioniert, auch wenn er Bachspace benutzt. Dann habe ich eine FOR-Schleife, die entsprechend der Länge der Textbox1 Sternchen auffüllt. Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged Dim lastchar, pw As String Dim count, max As Int16 pw = TextBox1.Text If pw.Length < 1 Then TextBox2.Text = Microsoft.VisualBasic.Left(TextBox2.Text, TextBox2.Text.Length - 1) Exit Sub End If lastchar = pw.Substring(pw.Length - 1) IF TextBox1.Text.Length > TextBox2.Text.Length Then TextBox2.Text = TextBox2.Text & lastchar Else TextBox2.Text = Microsoft.VisualBasic.Left(TextBox2.Text, TextBox2.Text.Length - 1) End If max = TextBox1.Text.Length TextBox1.Text = "" For count = 0 To max TextBox1.Text = TextBox1.Text & "*" Next End Sub genau in diesem letzten Block springt er nach dem erst Durchlauf zum roten IF. Was mir allerdings unerklärlich ist. Zitieren
Nobody Geschrieben 20. Oktober 2003 Autor Geschrieben 20. Oktober 2003 Ich Dummerchen, Ich ändere ja die textbox1 in der Sub Textbox1_change. Aber wieso springt er dann nicht an den Anfang. Zitieren
Peregrin Geschrieben 20. Oktober 2003 Geschrieben 20. Oktober 2003 hi, ich verstehe den sinn des ganzen nicht so genau... du möchtest ein passwort-feld haben? zumindest mit vb6 ging das einfacher: eigenschaft passwordchar einer textbox auf "*" setzen. zum problem: ich vermute, dass er an den anfang der routine springt. zumindest in vb6 ist der debugger bei mir in den events teilweise auch nicht sauber gelaufen... habe allerdings hier kein .net, um das auszutesten. normalerweise kann man das abweisend programmieren, indem man eine modulweite boolsche variable (z.b. bupdating) vor der textänderung auf true setzt und am anfang des ereignisses abfragt: if(bupdating)then exit sub. nach der textänderung natürlich wieder auf zurücksetzen setzen. hth Zitieren
Nobody Geschrieben 20. Oktober 2003 Autor Geschrieben 20. Oktober 2003 Oh mein Gott, und ich versuche das per Hand nachzubilden. Hab diese Eigenschaft der textbox nie probiert, aber danke. Das heißt also allen Code löschen und Passwordchar benutzen Okay, verschiebe den Thread in die Rubrik, "Zeit sinnfrei vergeuden" Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.