Windows XP将密码符号由以前版本的*改成了黑色圆球形。但是默认情况下我们自己程序中的密码文本框无法自动显示这种圆球,我在网上找了以下几种解决方案:
方案一:
Windows XP用的“黑色圆球”其实是Unicode字符25CF,因此将PasswordChar换成这个字符就行了:
textBox3.PasswordChar = '\u25CF';
这样显示出来和Windows自带程序的效果是一样的,但缺点是在Windows98等老系统上就会工作不正常。
方案二:
将PasswordChar属性设置成“l”(小写的字母L),然后将文本框的字体改成“Wingdings”。这也会将输入的字符显示为一种黑色圆球,但它比Windows自带程序的所用的圆球要大一点。
这种方法在Windows 98下也能用,而且也是圆球型。
方案三:
前两种方法共同的缺陷就是,不能自动适应系统默认的密码字符,保不准下一版本的Windows就用五角星或者3D图形什么的了。所以这个方法可能是最好的了:.NET Framework 2.0中的文本框提供了UseSystemPasswordChar属性,用了它就可以确保你的密码字符与当前系统默认的一样了。不过我不知道它是怎样实现的,回家以后再研究吧。
下面是一些效果截图:
