2013-07-23 13 views
7

Mam textbox w formie okna C# Mam problemy z przypisaniem wartości pustych do PasswordChar. Co chcę zrobić, to jeśli sprawdzane jest checkbox, to PasswordChar powinno być null, tj. Powinien być wyświetlony tekst, który powinien być PasswordChar powinien być *. To co próbowałemNull Password Char w WinForm

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

ale ta linia

 txtPassword.PasswordChar = ''; 

generuje błąd. Próbowałem nawet

 txtPassword.PasswordChar = null; 

, ale nadal mam błąd.

Proszę, pomóż mi poprawić mój kod.

Odpowiedz

16

Aby zresetować PassswordChar, zrób to txtPassword.PasswordChar = '\0';

Dla wygody:

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

Dzięki działa idealnie –

0

Próbowałaś czytając instrukcję dla TextBox.PasswordChar?

Ustaw wartość tej właściwości na 0 (wartość znaku), jeśli nie chcesz, aby formant maskował znaki w ich wpisywaniu.

1

przy użyciu tego kodu, aby ustawić znak null hasło

textBox1.PasswordChar = (char)0; 

czy to

textBox1.PasswordChar = '\0'; 
1

Dalsze infomation:

istnieje alternatywa w TextBox.PasswordChar, można również użyć TextBox.UseSystemPasswordChar .

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

działa idealnie, dzięki –