7

I have a textbox in a c# windows form i am having problems in assigning a null values to a PasswordChar. What i want to do is that if a checkbox is checked then the PasswordChar should be null i.e the actual text should be displayed else the PasswordChar should be *. This what i have tried

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

but this line

     txtPassword.PasswordChar = ''; 

is generating an error. I have even tried

     txtPassword.PasswordChar = null;

but i still get an error.

Please help me correct my code.

4 Answers4

18

To reset PassswordChar, do this txtPassword.PasswordChar = '\0';

For your convenience:

private void checkBox1_CheckedChanged(object sender, EventArgs e){
   txtPassword.PasswordChar = checkBox1.Checked ? '*' : '\0';
}
King King
  • 61,710
  • 16
  • 105
  • 130
1

using this code to set null Password character

textBox1.PasswordChar = (char)0;

or this

textBox1.PasswordChar = '\0';
Moory Pc
  • 860
  • 15
  • 16
1

For additional infomation:

There is an alternative in TextBox.PasswordChar, you can also use TextBox.UseSystemPasswordChar.

private void checkBox1_CheckedChanged(object sender, EventArgs e){
   textBox1.UseSystemPasswordChar = checkBox1.Checked ? true : false;
}
Onel Sarmiento
  • 1,608
  • 3
  • 20
  • 46
0

Did you try reading the manual for TextBox.PasswordChar?

Set the value of this property to 0 (character value) if you do not want the control to mask characters as they are typed.

CodeCaster
  • 147,647
  • 23
  • 218
  • 272