c# winform窗体闪烁解决方法

在主窗体中任意位置加上下面的代码即可

protected override CreateParams CreateParams
{
    get
    {
      CreateParams cp = base.CreateParams;
      cp.ExStyle |= 0x02000000;
      return cp;
     }
}

  

c# winform窗体闪烁解决方法

时间: 2024-08-28 07:33:35

c# winform窗体闪烁解决方法的相关文章

winform频繁刷新导致界面闪烁解决方法

转自龙心文 原文 winform频繁刷新导致界面闪烁解决方法 一.通过对窗体和控件使用双缓冲来减少图形闪烁(当绘制图片时出现闪烁时,使用双缓冲) 对于大多数应用程序,.NET Framework 提供的默认双缓冲将提供最佳效果.默认情况下,标准 Windows 窗体控件是双缓冲的.可以通过两种方法对窗体和所创作的控件启用默认双缓冲.一种方法是将 DoubleBuffered 属性设置为 true,另一种方法是通过调用 SetStyle 方法将 OptimizedDoubleBuffer 标志设置

GDI+ 绘图闪烁解决方法

闲着没事,准备做一个类似于TeeChart的自定义控件,结果第一步的绘图就把我给难倒了,虽然早就知道GDI绘图的闪烁问题很坑,但是却没有想到如此之坑,折腾了两天,才找到解决方法. 首先在窗体加载的时候,加入双缓存,说实话以前一直没觉得这个双缓存有什么用,不过这次总算是有了点儿效果. DoubleBuffered = true; SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlSt

【Visual C++】Windows GDI贴图闪烁解决方法

一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁. 先来谈谈闪烁产生的原因 原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期. 一般显卡的刷新周期是 1/80秒左右,具体数字可以自己设置的. 这样问题就来了,一般画图都是先画背景色,然后再把内容画上去,如果这两次操作不在同一个刷新周期内完成,那么给人的视觉感受就是,先看

解决winform窗体闪烁问题

如果你在Form中绘图的话,不论是不是采用的双缓存,都会看到图片在更新的时候都会不断地闪烁,解决方法就是在这个窗体的构造函数中增加以下三行代码: 请在构造函数里面底下加上如下几行: SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景. SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲 参数说明

C# winForm 窗体闪烁问题

如果你在Form中绘图的话,不论是不是采用的双缓存,都会看到图片在更新的时候都会不断地闪烁,解决方法就是在这个窗体的构造函数中增加以下三行代码: 请在构造函数里面底下加上如下几行:SetStyle(ControlStyles.UserPaint, true);SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲 参数说明: U

WinForm 窗体闪烁 & 任务栏提示

准备: 1 [DllImport("user32.dll")] 2 static extern bool FlashWindowEx(ref FLASHWINFO pwfi); 3 4 [DllImport("user32.dll")] 5 static extern bool FlashWindow(IntPtr handle, bool invert); 6 7 [StructLayout(LayoutKind.Sequential)] 8 public str

C#操作数据库,将其查查出来的记录条数显示在winform窗体中的方法之一

1 //1.数据库链接的基本操作(略) 2 //2.创建对象函数(关键部分) 3 sqlConn.Open(); 4 //初始化定义记录条数 5 int n = 0; 6 object obj = sqlComm.ExecuteScalar();//创建对象(ExecuteScalar()函数是获取所查的记录中的第一行第一列数据.) 7 int.TryParse(obj.ToString(), out n);//获取所查询的记录条数 8 string a = n.ToString();//将记录

C# Winform继承窗体打开设计器卡死的一例解决方法

环境VS2017 15.5.4,Win10开发过程中,发现一些窗体打开设计器会卡死白屏,另外有一些不会,(两者运行时正常),严重影响开发效率,经过一天多的对比研究,终于解决,猜测可能是VS的BUG,多年前做VC程序时遇到BUG,向微软提交,微软开发人员也会推诿,这里分享一下解决办法,以免大家踩坑.重现方法: 1.父窗体类Form1:Form,子窗体类Form2:Form12.打开子窗体设计器时,子窗体白屏,有时候用鼠标点击一下有时候能恢复,如果先打开子窗体代码,再打开设计器将会卡死.解决方法:在

C# 中DataGridView和ListView闪烁问题的解决方法

方法一 首先定义类,将此类放在datagridview或ListView所在的窗体类外面,然后代码如下, <span style="font-family:Microsoft YaHei;font-size:18px;">// <summary> /// 双缓冲DataGridView,解决闪烁 /// 使用方法:在DataGridView所在窗体的InitializeComponent方法中更改控件类型实例化语句将 /// this.dataGridView1