2013-07-23 8 views
7

Ich habe eine textbox in einer C# Windows-Form habe ich Probleme bei der Zuweisung einer Null-Werte zu einem PasswordChar. Was ich tun möchte, ist, dass, wenn eine checkbox überprüft wird, dann sollte die PasswordCharnull sein, d. H. Der eigentliche Text sollte angezeigt werden, sonst sollte die PasswordChar* sein. Das, was ich habe versuchtNull Password Char in Winform

private void checkBox1_CheckedChanged(object sender, EventArgs e) 
    { 
     if (!checkBox1.Checked) 
     { 
      txtPassword.PasswordChar = '*'; 
     } 
     else 
     { 
      txtPassword.PasswordChar = ''; 
     } 
    } 

aber diese Linie

 txtPassword.PasswordChar = ''; 

erzeugt einen Fehler. Ich habe sogar versucht

 txtPassword.PasswordChar = null; 

aber ich bekomme immer noch einen Fehler.

Bitte helfen Sie mir meinen Code zu korrigieren.

Antwort

16

PassswordChar zurücksetzen, tun dies txtPassword.PasswordChar = '\0';

Für Ihre Bequemlichkeit:

private void checkBox1_CheckedChanged(object sender, EventArgs e){ 
    txtPassword.PasswordChar = checkBox1.Checked ? '*' : '\0'; 
} 
+0

Danke funktioniert perfekt –

0

Haben Sie versucht, das Handbuch für TextBox.PasswordChar lesen?

den Wert dieser Eigenschaft auf 0 (Zeichenwert) gesetzt, wenn Sie die Steuerung nicht wollen Zeichen maskieren, wie sie eingegeben werden.

1

diesen Code mit null Passwort Zeichen setzen

textBox1.PasswordChar = (char)0; 

oder diese

textBox1.PasswordChar = '\0'; 
1

Weitere Angaben:

es eine Alternative in TextBox.PasswordChar ist, können Sie auch TextBox.UseSystemPasswordChar verwenden .

private void checkBox1_CheckedChanged(object sender, EventArgs e){ 
    textBox1.UseSystemPasswordChar = checkBox1.Checked ? true : false; 
} 
+0

funktioniert perfekt, danke –