我正在使用winforms
创建一个C#
应用程序。现在,我想在密码Icon
旁边加一个小眼睛textbox
,以便当用户将鼠标悬停在Icon
上时,可以看到到目前为止输入的内容。因此,在悬停时,textbox
应该显示123
,并且当用户离开该图标时,该框应该再次显示为***
。有没有办法用C#
来做到这一点?
答案 0 :(得分:5)
textBox.UseSystemPasswordChar = true;
icon.MouseEnter += (sender, e) => textBox.UseSystemPasswordChar = false;
icon.MouseLeave += (sender, e) => textBox.UseSystemPasswordChar = true;
答案 1 :(得分:1)
在悬停事件上使用:
推荐-使用if条件验证悬浮是否调用并根据操作将UseSystemPasswordChar
属性设置为true
或false
。
//hover condition
if() {
textBox1.UseSystemPasswordChar = False;
} else {
textBox1.UseSystemPasswordChar = True;
}
或
textBox1.PasswordChar = '\0';
UseSystemPasswordChar属性的优先级高于PasswordChar属性。每当UseSystemPasswordChar设置为true时,将使用默认的系统密码字符,而忽略由PasswordChar设置的任何字符。-Source
更多解决方案可以在here
找到.Net Framework 4.8官方文档:
UseSystemPasswordChar
-This Link
PasswordChar
-This link(未屏蔽的文本框)
MaskedTextBox.PasswordChar
-This link
答案 2 :(得分:0)
在图标上的悬停事件中,您需要将TextBox的PasswordChar
属性更改为char.MinValue
像这样:
textBox1.PasswordChar = char.MinValue;
然后,如果用户留下图标,请再次更改此属性
textBox1.PasswordChar = '*';