DataGridView滚动慢的解决方法

当DataGridView达到一定大小的时候,拖动滚动条就会非常慢,出现让人难以忍受的闪动。

即便只有100行,每行30列。

解决方法是启用DataGridView的双缓冲。

  1. public static class ExtensionMethods
  2. {
  3.     public static void DoubleBuffered(this DataGridView dgv, bool setting)
  4.     {
  5.         Type dgvType = dgv.GetType();
  6.         PropertyInfo pi = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic);
  7.         pi.SetValue(dgv, setting, null);
  8.     }
  9. }
  10.  
  11. // 使用方法: 
  12. ExtensionMethods.DoubleBuffered(dataGridView1, true);
时间: 2024-10-31 15:00:00

DataGridView滚动慢的解决方法的相关文章

DataGridView滚动慢?的解决方法

当DataGridView达到一定大小的时候,拖动滚动条就会非常慢,出现让人难以忍受的闪动. 即便只有100行,每行30列. 解决方法是启用DataGridView的双缓冲. 1 2 3 4 5 6 7 8 9 10 11 12 public static class ExtensionMethods {     public static void DoubleBuffered(this DataGridView dgv, bool setting)     {         Type dg

vue2.0 页面A跳转到页面B,B页面停留在A页面的滚动位置的解决方法

如果页面A沿Y轴滚动一段距离,然后跳转到页面B: 在进入B页面时,B页面已经滚到页面A的距离,返回页面A,发现A还在之前的滚动位置: 这样体验就很不好,所以我们要进行一些处理: 我的方法是:在路由守卫回调中,设置每次进入路由时,将window的scroll值设置为0:window.scroll(0, 0);代码如下 // 全局路由守卫 router.beforeEach((to, from, next) => { // to: Route: 即将要进入的目标 路由对象 // from: Rout

universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法

在listview/gridview中使用UIL来display每个item的图片,当图片数量较多需要滑动滚动时会出现卡顿,而且加载过的图片再次上翻后依然会重复加载(显示设置好的加载中图片) 最近在使用UIL遇到了这个问题,相信这个问题许多使用UIL的人都碰到过 现在把解决方法贴出来给有同样问题的朋友做参考 先看下UIL的工作流程 在已经允许内存,存储卡缓存的前提下,当一个图片被请求display时,首先要判断图片是否缓存在内存中,如果false则尝试从存储卡读取,如果依然不存在最后才从网络地址

VS2015中DataGridView的DataGridViewComBoboxCell列值无效及数据绑定错误的解决方法

在VS2015中练习DataGridView的使用, 发现其中的DataGridViewComBoboxCell列存在着绑定数据库列后出现值无效的提示 根据网上的解决办法,添加了DataError后可以解决问题,但是数据库列依然不能正常绑定 研究一番后终于明白出错的原因,并找到解决方法: DataGridViewComBoboxCell列绑定的数据要存在列的Item内,不然就会认为是错误值,所以在设置列的DataPropertyName值之前一定要填充列的Item,或者提前设置列的绑定数据,最后

DataGridView列标题(列标头)不能居中的解决方法

winform DataGridView列标题(列标头)不能完全居中的解决方法,一般列标题的居中我们都使用 DgvDemo.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; 这样就居中的了,但如果行单元格也居中时你仔细看会发现列标题并没有完全居中,而是略微往左边一点,如果你深得这无关大雅,就没必要往下看此文了,如果你想解决此问题请看解决方法 在DataGridview所在窗体的

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

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

Android软键盘弹出时把布局顶上去的解决方法

原文: 解决Andriod软键盘出现把原来的布局给顶上去的方法(转) 链接:http://blog.sina.com.cn/s/blog_9564cb6e0101g2eb.html 决方法,在mainfest.xml中,对那个Activity加: <activityandroid:name=".activity.HomeActivity"android:windowSoftInputMode="adjustPan|stateHidden"></ac

ScrollView下嵌套GridView或ListView默认不在顶部的解决方法

当ScrollView下嵌套GridView或ListView时,如果内容超过一屏默认位置不在ScrollView的顶部,用scrollViewMsg.scrollTo(0,0)设置也不起作用,这是因为嵌套GridView或ListView获了焦点,解决方法有如下几种: 方法1把ScrollView里的第一个View获取焦点: baseView.setFocusable(true); baseView.setFocusableInTouchMode(true); baseView.request

移动前端的一些坑和解决方法(外观表现)

问题描述 环境与频率 解决方法 border-radius百分比失效 Android2.3.x 设置一个较大值如border-radius:9999px placeholder属性设置的文字向上偏移的厉害 Android4.x部分机型 line-height:normal iOS5及以后版本都支持. iOS4及以下版本不支持,会当做static处理. Android 2.1 及以下版本不支持. Android 2.2 滚动过程中不保持fixed的位置,滚动完成后回到fixed的位置. Andro