c# panel背景图片切换闪烁的解决办法
来源:互联网 发布:淘宝网禁止出售的药品 编辑:程序博客网 时间:2024/05/21 22:27
代码如下:重绘panel,并在新panel的构造函数中,设置双缓冲即可;
public partial class BackGroundPanel : Panel { public BackGroundPanel() { SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.SupportsTransparentBackColor, true); //SetStyle(ControlStyles. } ////SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.SupportsTransparentBackColor, true); //protected override void OnPaintBackground(PaintEventArgs e) //{ // // // // 重载基类的背景擦除函数, // // 解决窗口刷新,放大,图像闪烁 // // do nothing here: doesn't paint background => no flickering // return; //} //protected override void OnPaint(PaintEventArgs e) //{ // // render-code goes here // this.DoubleBuffered = true; // if (this.BackgroundImage != null) // { // e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; // // e.ClipRectangle // e.Graphics.DrawImage(this.BackgroundImage, new System.Drawing.Rectangle(0, 0, this.Width, this.Height), // 0, 0, this.BackgroundImage.Width, this.BackgroundImage.Height, // System.Drawing.GraphicsUnit.Pixel); // } // base.OnPaint(e); //} }
同时,为了能够在测试容器中测试:
需要对designer.cs中的代码改动如下:
#region 组件设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要 /// 使用代码编辑器修改此方法的内容。 /// </summary> /// private void InitializeComponent() { this.panel_wholeFrameTrend = new BackGroundPanel(); } BackGroundPanel panel_wholeFrameTrend; //private void InitializeComponent() //{ // components = new System.ComponentModel.Container(); // //this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; //} #endregion }
0 0
- c# panel背景图片切换闪烁的解决办法
- c# panel背景图片切换闪烁的解决办法
- C# 改变窗体大小时背景图片会闪烁解决办法
- 带背景图片的Panel
- C#中解决Panel等控件闪烁的方法
- c# 窗体的背景图片在加载时,背景图片闪烁问题 已解决
- C#绘图闪烁解决办法
- C# 如何给Panel 添加背景图片
- ubuntu 切换页面(窗口、tab等)后闪烁的解决办法
- C#用panel实现子窗体的切换
- C# WinForm解决Panel控件中的图片刷新时会闪烁的问题
- C#多form切换,窗口闪烁的问题
- C# WinForm页面切换产生控件闪烁的问题
- C#实现动态桌面背景图片切换
- C# 绘制内容超出Panel尺寸上限的解决办法
- ExtJs4.1:设置panel的背景图片
- ExtJs4.1:设置panel的背景图片
- C# 没有背景层的PICTUREBOX重绘闪烁解决办法
- 9.21-9.27学习随笔
- python模拟登录网易邮箱
- poj 3237 Tree 树链剖分
- 文件描述符与文件描述符标志
- 黑马程序员—Java编程基础+常量与变量+类型的转换+进制的转换+运算符+scanner的使用+程序流程结构控制+循环结构
- c# panel背景图片切换闪烁的解决办法
- iOS界面编程-UIPickerView
- HDU 2612 Find a way(两次bfs)
- 关于ARM启动流程的分析(NandFlash Or NorFlash)
- 《数据结构》实验一
- web.xml文件的作用
- android 自定义holo light样式edittext边框颜色
- Eclipse-Java常见异常/错误解决
- 树的重心