2014-10-19 63 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