【发布时间】:2011-03-17 06:29:49
【问题描述】:
我需要编写一个与原来的 winforms 文本框完全不同的文本框。事实上我需要一个不同的背景,我怎样才能做到这一点?我尝试使用 SetStyle(ControlStyles.UserPaint, true); 进行所有者绘图,但这会导致很多闪烁,并且文本完全错误绘制、错误的字体、大小等。
我认为,从头开始编写文本框会有点过头了。
【问题讨论】:
-
我以前从头写过文本框;这并不难,尤其是在您可以更直接地控制渲染框架的情况下(如在 Winforms 中)
-
不要过分挑剔——因为我假设您正在处理一个遗留项目,但是覆盖 WinForms 中控件的默认外观/感觉就像试图用钝勺子给猪剥皮一样。您可以选择在 WPF 中进行开发吗?在 WPF 中很容易实现。
-
@Doug 不,我不能切换到 WPF,我很想在 WPF 中做这些事情,但我的公司仍在使用 winforms。