【问题标题】:How to set borders of a custom textbox for PAssword type?如何为密码类型设置自定义文本框的边框?
【发布时间】:2011-10-07 11:48:01
【问题描述】:

我有 2 个带有用户名和密码的文本框。我从http://www.codeproject.com/KB/edit/RoundedCornerTextbox.aspx 得到了一个类 RoundedCornerTextbox。它适用于用户名文本框。但是使用 PAssword 文本框,它显示实际密码而不是“*” - 文本框的密码字符。

如何在 RoundedCornerTextbox 类中处理这种情况?如果我只是在 DrawString() 中将文本设置为“**”(* 与文本大小一样多),那么当我检索 pswdTxt.Text 时,接收到的数据将仅是“*”,而不是实际文本。

【问题讨论】:

  • 使用完全由所有者绘制的文本框是完全没有意义的。从中提取密码也很容易。你绝对没有理由需要在你的文本框上稍微圆角。使用您的 GUI 库提供的内置控件,每个人的生活都会变得更好。
  • 你能设置 PasswordChar 属性吗?
  • @Reniuz:我打赌他正在使用的自定义绘制文本框上没有PasswordChar 属性。这是使用内置控件而不是您在 Internet 上找到的一些 hackjob 控件的另一个原因:一切正常。
  • @Cody Gray & @Reniuz ,它有 PAsswordChar 属性,我也可以设置它,但没有区别。我尝试使用 WndProc 使用所有者绘制,但这也不起作用。所以我正在寻找一种在 RoundedCornerText 类中处理它的方法。那么我该如何解决它
  • msdn.microsoft.com/en-us/library/d3223ht2.aspx 自定义控件使用的代码非常糟糕。我有没有提到你不应该使用它?

标签: c# textbox passwords


【解决方案1】:

好的,如果你想要圆角文本框,你可以使用免费的Krypton toolkit文本框组件。它支持文本框边框舍入。你需要的是设置属性:

int howMuchRoundCorners = 5;
kryptonTextBox.StateCommon.Border.Rounding = howMuchRoundCorners;

【讨论】:

  • 它是否支持 PasswordChar 即 PAssword 的文本框?如果是这样,那么只有它对我有用。
  • @Tvd,是的,它支持。我添加了你可以看到的截图。
  • @Reniuiz,我已经在下载它了,只是问 cna 我在普通表单上使用 KryptTextBox 还是只能在 KryptForm 上使用它???您的屏幕截图显示您只使用了普通表单而不是 KryptForm,但很想知道。
  • 是的,您可以在正常形式上使用它。
  • 非常感谢,雷纽兹。我花了很多时间尝试将其作为自定义控件或使用 Wnd-Proc 进行过度绘制。但是你的组件帮助了我。谢谢
猜你喜欢
  • 2010-10-25
  • 2014-05-22
  • 1970-01-01
  • 2011-09-03
  • 2018-06-20
  • 2011-02-28
  • 1970-01-01
  • 2016-07-23
  • 1970-01-01
相关资源
最近更新 更多