我在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;
但我仍然收到错误。
请帮我纠正我的代码。
答案 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(字符值)。