您的位置:首页 > 其它

winform窗体加背景图片后,控件闪烁

2014-01-28 09:57 393 查看

1:窗体双缓冲属性 DoubleBufered设置为true

2:可在窗体加载中添加如下代码

SetStyle(ControlStyles.UserPaint, true);

SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.

SetStyle(ControlStyles.OptimizedDoubleBuffer, true); // 双缓冲

this.UpdateStyles();

3:重写继承于不想闪烁的控件

public class 自定义控件名 : 控件名

{

public 自定义控件名()

{

this.SetStyle(System.Windows.Forms.ControlStyles.OptimizedDoubleBuffer | System.Windows.Forms.ControlStyles.AllPaintingInWmPaint, true);

this.UpdateStyles();

}

}

例如:

public class LabelStatus : System.Windows.For***abel

{

public LabelStatus()

{

this.SetStyle(System.Windows.Forms.ControlStyles.OptimizedDoubleBuffer | System.Windows.Forms.ControlStyles.AllPaintingInWmPaint, true);

this.UpdateStyles();

}

}

我是这么写的- -,想哪个控件不闪烁就继承哪个设置一下

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: