我使用PasswordChar = '*';
创建了一个TextBox控件
现在我想在用户选中复选框时显示密码。
奇怪的是它不起作用,我无法看到我的密码
这是我的代码
if (DisplayPasswordCheckBox.Checked)
PasswordTB.PasswordChar = char.Parse("\0");
else
PasswordTB.PasswordChar = char.Parse("*");
知道我在这里做错了吗?
已修改:如果您使用的是UseSystemPasswordChar = true
,请在更改密码字符之前将其关闭以在屏幕上显示结果
答案 0 :(得分:4)
您应该将代码更改为以下代码:
if (DisplayPasswordCheckBox.Checked)
PasswordTB.PasswordChar = '\0';
else
PasswordTB.PasswordChar = '*';
你不必解析任何东西。因此,您不需要使用char.Parse()
方法。
有关名为PasswordChar
的媒体资源的详情,请查看here。
答案 1 :(得分:2)
来自msdn:
用于屏蔽在单行TextBox中输入的字符的字符 控制。如果您将此属性的值设置为0(字符值) 不希望控件在键入字符时屏蔽它们。等于0 (字符值)默认情况下。
来源:msdn
所以解决方案是
if (DisplayPasswordCheckBox.Checked)
PasswordTB.PasswordChar = '\0'; //msdn says: 0 as character value.
else
PasswordTB.PasswordChar = '*';
其他解决方案:
PasswordTB.PasswordChar = (char)0;
答案 2 :(得分:0)
希望这会有所帮助
if (DisplayPasswordCheckBox.Checked)
PasswordTB.PasswordChar = '\0';
else
PasswordTB.PasswordChar = char.Parse("*");