2 回答
TA贡献1804条经验 获得超2个赞
我要尝试一下,
private TextBox textBox = new TextBox();
...
this.Controls.Add(textBox);
上面好像有问题
看起来你的阴影文本框实际上是什么显示,
如果您在后台需要阴影属性(并且不知道您的目标),那么最好创建您需要的属性。
TA贡献1786条经验 获得超13个赞
由于该类本身继承了TextBox
该类,因此您无需创建内部文本框。
考虑到这一点,您可以取出 的声明private TextBox textBox
,并将对该成员的引用替换为this
,因为它this
是一个TextBox
后代。
在构造函数中,您还将删除,this.Controls.Add(textBox);
因为不再需要添加内部控件。
Text
也可以删除覆盖的属性,因为它不会向TextBox
定义添加功能。
该InvalidateSize
方法需要重新设计,因为调整Size
成员会触发TextBoxEx_Resize
处理程序方法,该InvalidateSize
方法再次调用该方法,最终导致StackOverflowException
.
最后一件事,也是重要的一件事。根据MSDN ...
如果Multiline属性设置为 true,则设置 PasswordChar 属性没有视觉效果。当 PasswordChar 属性设置为 true 时,无论 Multiline 属性设置为 true 还是 false,都无法使用键盘在控件中执行剪切、复制和粘贴操作。
这意味着如果文本框是多行文本框 PasswordCharacter 将不会显示
- 2 回答
- 0 关注
- 245 浏览
添加回答
举报