我开发了一个 Windows 应用程序,其界面有多个文本框,所有文本框都放在一个面板中(面板有背景图像)。
每当加载面板时,窗口(带有这些文本框)都会闪烁。
我阅读了很多建议以尽量减少这种闪烁,建议的解决方案之一如下,
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.DoubleBuffer, true);
但这对我不起作用,
我阅读了有关使用以下代码关闭 WS_CLIPCHILDREN 的信息:
protected override CreateParams CreateParams {
get {
var parms = base.CreateParams;
parms.Style &= ~0x02000000; // Turn off WS_CLIPCHILDREN
return parms;
}
}
这段代码可以帮助一些面临同样问题的人。所以我想使用它但我真的不知道在哪里粘贴它,我的意思是,我读到它不应该粘贴在表单中,而是粘贴在UserControl 的代码中。我不知道该怎么做,我使用的所有控件都不是自定义控件。
看看这里并查看第一个答案:
提前致谢,