DataGridView减少闪烁的解决办法

Reducing flicker, blinking in DataGridView

http://www.codeproject.com/Tips/390496/Reducing-flicker-blinking-in-DataGridView

One of my project requirement was to create a Output Window similar to Visual Studio. For that I used aDataGridView. But when I start my application, I found that there is lot of blinking, flicker, pulling... After badly hitting my head with Google, I found a very easy way. We just need to create a extension method to DataGridView and it‘s all done:

 Collapse | Copy Code

public static void DoubleBuffered(this DataGridView dgv, bool setting)
{
    Type dgvType = dgv.GetType();
    PropertyInfo pi = dgvType.GetProperty("DoubleBuffered",
          BindingFlags.Instance | BindingFlags.NonPublic);
    pi.SetValue(dgv, setting, null);
}

DataGridView减少闪烁的解决办法,布布扣,bubuko.com

时间: 2024-10-21 14:49:51

DataGridView减少闪烁的解决办法的相关文章

C#:使用ListView动态添加数据一直闪烁的解决办法

首先,自定义一个类ListViewNF,继承自 System.Windows.Forms.ListView using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace 你的名称空间 { class ListViewNF : System.Windows.Forms.ListView { public ListV

ubuntu 切换页面(窗口、tab等)后闪烁的解决办法

自从在笔记本上装了ubuntu和nvidia驱动后,每次切换程序.切换窗口,尤其是浏览器的tab之间切换后,就会发生当前页面和之前页面之间的的快速切换式的闪烁.闪烁情况类似这样(youtube) google后在一个外网论坛得到结果:https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-346/+bug/1314367 解决办法:安装compiz的一个包 sudo apt-get install compizconfi

VC 窗口出现白屏闪烁的解决办法

处理一下窗口的WM_ERASEBKGND消息即可. 在messagemap里添加ON_WM_ERASEBKGND() 在窗口头文件里添加 afx_msg BOOL OnEraseBkgnd(CDC* pDC); 在窗口类里实现消息处理——简单返回true就可以了. BOOL BmpDialog::OnEraseBkgnd(CDC* pDC){// TODO: Add your control notification handler code herereturn true;} 就这么简单! h

C#使用ListView更新数据出现闪烁解决办法

在使用vs自动控件ListView控件时候,更新里面的部分代码时候出现闪烁的情况 如图: 解决以后: 解决办法使用双缓冲:添加新类继承ListView 对其重写 1 public class DoubleBufferListView : ListView 2 { 3 public DoubleBufferListView() 4 { 5 SetStyle(ControlStyles.DoubleBuffer | 6 ControlStyles.OptimizedDoubleBuffer | 7

电脑任务栏闪烁以及任务栏图标闪烁解决办法

前言:近来笔者发现电脑不时的电脑桌面和菜单栏会不停的闪烁,只能通过Ctrl + shift + ESC打开任务管理器来重启资源管理器,但是发现重启之后的一会儿好了,但是过一会儿又闪烁,后来琢磨好久,才发现是有软件在更改默认软件,造成资源管理器不断重启,所以桌面图标才不断闪烁,恢复系统默认软件后就好了,下面将方法分享给大家 一,按win键就是键盘左下角Ctrl键右边的一个,然后选择设置按钮,如下如所示 二.打开如下界面,我们选择应用这个选项,如下图所示 三.选择之后选择默认应用 四.选择之后在右边

【转】WEB网站常见受攻击方式及解决办法

一个网站建立以后,如果不注意安全方面的问题,很容易被人攻击,下面就讨论一下几种漏洞情况和防止攻击的办法. 一.跨站脚本攻击(XSS) 跨站脚本攻击(XSS,Cross-site scripting)是最常见和基本的攻击WEB网站的方法.攻击者在网页上发布包含攻击性代码的数据.当浏览者看到此网页时,特定的脚本就会以浏览者用户的身份和权限来执行.通过XSS可以比较容易地修改用户数据.窃取用户信息,以及造成其它类型的攻击,例如CSRF攻击 常见解决办法:确保输出到HTML页面的数据以HTML的方式被转

Tomcat内存溢出解决办法

使用Java程序从数据库中查询大量的数据时出现异常:java.lang.OutOfMemoryError: Java heap space在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息.JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4.可以利用JVM提供的-Xmn -Xms -Xmx等

java.lang.OutOfMemoryError: Java heap space解决办法

//首先检查程序有没有限入死循环 这个问题主要还是由这个问题 java.lang.OutOfMemoryError: Java heap space 引起的.第一次出现这样的的问题以后,引发了其他的问题.在网上一查可能是JAVA的堆栈设置太小的原因. 跟据网上的答案大致有这两种解决方法: 1.设置环境变量 解决方法:手动设置Heap size 修改TOMCAT_HOME/bin/catalina.sh set JAVA_OPTS= -Xms32m -Xmx512m 可以根据自己机器的内存进行更改

PHP内存溢出Allowed memory size of 解决办法

PHP内存溢出Allowed memory size of 解决办法 博客分类: php ============================Allowed memory size of  xxx bytes 以前追踪过这个问题,但是那个时候工具用的不太好,没看的这么细,这次搞的比较细,修正了偶以前的看法 .于是写小文一篇总结一下. PHP偶尔会爆一下如下 错误Allowed memory size of  xxx bytes exhausted at xxx:xxx (tried to a