Winform中的空密码字符

时间:2013-07-23 11:13:10

标签: c# winforms textbox

我在c#windows窗体中有textbox我在向PasswordChar分配空值时遇到问题。我想要做的是,如果选中checkbox,则PasswordChar应为null,即应显示实际文字,否则PasswordChar应为* }。这就是我试过的

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

但这一行

     txtPassword.PasswordChar = ''; 

正在生成错误。我甚至试过

     txtPassword.PasswordChar = null;

但我仍然收到错误。

请帮我纠正我的代码。

4 个答案:

答案 0 :(得分:16)

要重置PassswordChar,请执行此操作txtPassword.PasswordChar = '\0';

为方便起见:

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

答案 1 :(得分:1)

使用此代码设置null密码字符

textBox1.PasswordChar = (char)0;

或者

textBox1.PasswordChar = '\0';

答案 2 :(得分:1)

有关其他信息:

TextBox.PasswordChar中有替代方案,您也可以使用TextBox.UseSystemPasswordChar

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

答案 3 :(得分:0)

您是否尝试阅读TextBox.PasswordChar的手册?

  

如果您不希望控件在键入字符时屏蔽字符,请将此属性的值设置为0(字符值)。