密码字符无法在System.Windows.Forms.TextBox上运行

时间:2009-07-11 10:18:31

标签: c# winforms textbox passwords maskedtextbox

多数民众赞成......

我正在使用VS2008 Express。

所有样本都说只是为了设置PasswordChar,但没有任何东西被掩盖。

我也试过设置“UseSystemPasswordChar”= true ..没有运气..

   // Set to no text.
   textBox1.Text = "";
   // The password character is an asterisk.
   textBox1.PasswordChar = '*';
   // The control will allow no more than 14 characters.
   textBox1.MaxLength = 14;

我使用TextBox的原因是因为我希望用户能够点击返回并提交数据。重要的是要注意我猜我有MultiLine = true所以我可以捕获回报。

我似乎无法使用maskedTextBox捕获返回。我得到的只是一个系统嘟嘟声。

任何一种解决方案都适合我!

3 个答案:

答案 0 :(得分:9)

如果您阅读the documentation,则说“如果Multiline属性设置为true,则设置PasswordChar属性没有视觉效果。”

答案 1 :(得分:3)

当Multiline设置为true时,

UseSystemPasswordChar不起作用。即使Multiline = false,标准Windows窗体文本框也会接受返回。

解决方案:设置Multiline = False,并在表单上设置一个按钮以使用AcceptButton属性,或者在文本框的“KeyPress”事件中捕获return / enter键。

答案 2 :(得分:-1)

当使用maskedTextBox捕获按键时,执行以下操作:

if ( e.KeyChar == 13) {
    /* This is the enter key. Do stuff. */
}