2014-10-19 62 views
0

我正在使用“●”作为我的登录表单的密码字符。我有一个名为“显示密码”的复选框。如果一个人点击“显示密码”,应该删除“●”,密码应该显示为实际文本。我无法做到这一点;这里是代码:密码字符无法重置为默认值

private void LoginForm_Load(object sender, EventArgs e) 
    { 
      Passtxt.PasswordChar = '●'; 

      if (checkBox_Showpass.Checked == true) 
      { 
       Passtxt.PasswordChar = '\0'; 
      } 
    } 
+0

你在checkbox的CheckedChanged事件中有什么代码?如果你想恢复正确的密码字符,你需要在那里工作。 – Steve 2014-10-19 17:36:24

回答

0

使用UseSystemPasswordChar属性来启用或禁用密码模式:

private void checkBox_Showpass_CheckedChanged(object sender, EventArgs e) 
{ 
    if (checkBox_Showpass.Checked == true) 
     Passtxt.UseSystemPasswordChar = false; 
    else 
     Passtxt.UseSystemPasswordChar = true; 
} 
+0

然后它说:不能将char转换为bool。 – aliadiere 2014-10-19 17:35:14

+0

你是怎么使用这段代码的? – Shaharyar 2014-10-19 17:41:04

0

好了,终于得到了工作:复制if语句并粘贴到这checkBox_Showpass_CheckedChanged方法:

private void checkBox_Showpass_CheckedChanged(object sender, EventArgs e) 
    { 
     if (checkBox_Showpass.Checked == true) 
     { 
      this.Passtxt.PasswordChar = '\0'; 
     } 
    } 
+2

只需'this.Passtxt.UseSystemPasswordChar =!checkBox_Showpass.Checked'来启用切换 – Steve 2014-10-19 17:40:51