C# Winform,TableLayoutPanel在动态控件上闪烁添加/删除?
我在我的winform应用程序中使用CreateParams覆盖,以避免在使用动态控件填充TableLayout面板时出现飞片。代码如下:C# Winform,TableLayoutPanel在动态控件上闪烁添加/删除?,c#,winforms,C#,Winforms,我在我的winform应用程序中使用CreateParams覆盖,以避免在使用动态控件填充TableLayout面板时出现飞片。代码如下: protected override CreateParams CreateParams { get { CreateParams CP = base.CreateParams; CP.ExStyle = CP.ExStyle | 0x02000000;
protected override CreateParams CreateParams
{
get
{
CreateParams CP = base.CreateParams;
CP.ExStyle = CP.ExStyle | 0x02000000;
return CP;
}
}
这会导致我的CPU使用率超过30%,要解决这个问题吗?或者其他避免闪烁的方法?好的,我在这里通过一个按钮更改了值0x020000000。将值更改为0x00000020时,它似乎起作用。或者eve 0x00000040也起了作用。但是您使用的原始值导致了问题。所以再次检查该值。我不会像那样使用那些十六进制值,因为代码很难读取和维护 如下文所述:
常量是在Windows SDK安装的Windows.h中定义的,您可以将这些常量样式定义从该文件复制到源代码中,并使用名称而不是值。我在这里用一个MyButton:Button和CreateParems overriden来模拟您的代码。使用这种方法,在启动窗口之前创建窗口句柄异常时会出现错误。我把范围缩小到这个覆盖的方法。没有这个方法,我可以将我的自定义botton放在表单上。稍后我将进一步探讨这种方法。