WinForm的控件 CheckBox 显示隐藏密码 TextBox恢复IsPasswordChar 默认值、取消密码框设置
//显示密码,状态事件处理
private void skinCheckBoxShowPwd_CheckedChanged(object sender, EventArgs e)
{
if (skinCheckBoxShowPwd.Checked)
{
textBoxPwd.IsSystemPasswordChar = false;
textBoxPwd.IsPasswordChat = default(char);
} else
{
textBoxPwd.IsSystemPasswordChar = true;
}
}
运行结果:
WinForm中TextBox控件的PasswordChar属性默认是没有设置的或者说没有开启密码模式,当设置了该属性之后就会开启密码模式,输入的内容以设置的该属性的值来显示。那么该如何取消PasswordChar的设置呢?归纳起来有三种方法,其本质都是把PasswordChar的值赋值为默认值,赋值为默认值后就会按照正常文本进行显示。三种方法代码如下。
this.textBox1.PasswordChar = new char();
this.textBox1.PasswordChar = '\0';
this.textBox1.PasswordChar = default(char);
这种方法分别用了三种赋值方式,char是值类型,同时是结构体类型。使用new char()得到的是一个结构体实例,同时会得到默认值;‘\0’是char类型的结尾值,任何一个char类型的变量的值都是以它为结尾,在存储中占一bit(位);default关键字,此关键字对于引用类型会返回 null,对于数值类型会返回零。 对于结构,此关键字将返回初始化为零或 null 的每个结构成员,具体取决于这些结构是值类型还是引用类型。对于可以为 null 的值类型,默认返回 System.Nullable,它像任何结构一样初始化。那么使用default关键字得到的就是char类型的默认值。