本文转自:https://www.cnblogs.com/yangxuli/p/7595794.html,为了尊重作者原创,转载请注明出处。

一、发现问题

如果发送数据过快的情况下,ListVies滚屏显示数据时会显示闪屏,如下所示现象:

二、解决问题

根据出现闪屏的情况,在网上查了资料要使用双缓存的办法来处理。其原理是数据在缓存区中进行处理,处理之后再把结果显示出来。

自己先新定义一个ListViewBuff类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;                               //增加引入窗体命名空间,支持窗体相关的类namespace WzCan_DeviceExploer
{class ListViewBuff : System.Windows.Forms.ListView    //自定义一个类ListViewBuff 继承自System.Windows.Forms.ListView{public ListViewBuff(){this.SetStyle(                                //设置控件的样式和行为ControlStyles.DoubleBuffer|                   //绘制在缓冲区中进行,完成后将结果输出到屏幕上。双重缓冲区可防止由控件重绘引起的闪烁ControlStyles.OptimizedDoubleBuffer|          //控件首先在缓冲区中绘制,而不是直接绘制到屏幕上,这样可以减少闪烁ControlStyles.AllPaintingInWmPaint,true);     //控件将忽略WM_ERASEBKGND(当窗口背景必须被擦除时 例如窗口改变大小时)窗口消息以减少闪烁UpdateStyles();                               //更新控件的样式和行为}}
}

然后找到窗体Forms程序中定义LiewView的位置:

 private System.Windows.Forms.ListView CanBuslistView;this.CanBuslistView = new System.Windows.Forms.ListView();

修改成如下:

private ListViewBuff CanBuslistView;   //yxl test add   增加listview双缓存处理 2017.09.26
this.CanBuslistView = new WzCan_DeviceExploer.ListViewBuff(); //增加双缓存 add yxl 2017.09.26

添加双缓存后不会有闪屏的现象,实现效果如下:

三、参考资料

http://www.cnblogs.com/94cool/archive/2013/02/06/2899995.html
http://www.cnblogs.com/JiYF/p/6233313.html
http://www.cnblogs.com/1175429393wljblog/p/5684090.html
http://www.mamicode.com/info-detail-1242649.html

C# 解决LISTVIEW控件显示数据出现闪屏的问题相关推荐

  1. Android eclipse实现创建水果表并添加信息,将其以ListView控件显示

    Android eclipse实现创建水果表并添加信息,将其以ListView控件显示 整个程序包含:三个.java文件以及两个.xml文件 1.Fruit.java: package com.gpn ...

  2. repeater 控件ajax绑定数据源,用 DataList 和 Repeater 控件显示数据(C#) | Microsoft Docs...

    使用 DataList 和 Repeater 控件显示数据 (C#) 09/13/2006 本文内容 在前面的教程中,我们使用了 GridView 控件来显示数据. 从本教程开始,我们将介绍如何生成包 ...

  3. 在ASP.NET中使用ListView控件对数据进行显示、分页和排序

    最终效果图如下所示: 使用ListView控件是不需要写代码的,下面我们来看一下ListView的操作流程: 1.首先新建一个ASP窗体 2.然后拖入一个ListView和一个SqlDataSourc ...

  4. C# ListView控件显示表格(自适应宽度),添加 Checkbox,删除选择项,选中颜色和鼠标滑过背景变色

    本文转载自:http://www.liangshunet.com/ca/201309/586362553.htm 亮术网 2020-03-07 本网原创 DataGridView控件功能十分强大,显示 ...

  5. 使用ListView控件展示数据

    一.使用ListView实现大图标小图标的功能: 1.拖一个ListView控件 2.拖两个imageList控件,并且重命名为imgBig和imgSmall,分别设置两个控件的图片和大小. 3.编辑 ...

  6. delphi7 mysql控件_Delphi7连接MySql数据库-DBGrid控件显示数据

    一个简单的Delphi7小程序,使用MySql数据库做简单查询,用DBGrid控件显示结果,实现过程如下: (1)在MySql中新建demouser表,插入记录用于测试. (2)在Delphi7中新建 ...

  7. C# 解决datagridview控件显示大量数据拖拉卡顿问题

    问题描述: 由于在使用SQL查询大量的数据并一次显示到dataGridView控件,出现拖拉的时候卡顿. 解决方法: 1.首先分页. 2.其次把显示控件设置双buffer. 解决过程如下: 1.设置d ...

  8. ListView控件绑定数据

    1.创建ListView程序对应的布局文件(activity_main.xml) <LinearLayout xmlns:android="http://schemas.android ...

  9. elementUI el-tabs 控件设置点击 闪屏问题

    之前用于手机闪屏问题 解决  用了v-cloak 指令 放在  v-if 和v-for上 代码如图 <el-tabs type="border-card" @tab-clic ...

最新文章

  1. Python scrapy 命令行传参 以及发送post请求payload参数
  2. python 安装包时出现红字_Python安装(Windows 7 8 10)
  3. TCP往返时延的估计和超时
  4. Xampp中的apache,tomcat无法启动的问题
  5. 【最新合集】编译原理习题(含答案)_4-7语法分析_MOOC慕课 哈工大陈鄞
  6. 关于Vue中计算属性computed和methods属性的区别,你了解多少呢
  7. Php xml 目录,PHP-PHP+xml的无限分类树目录的方法?
  8. 常用SQL查询语句整理笔记【持续更新】
  9. 181101每日一句
  10. SQLyog——下载2058问题
  11. STM32笔记之 SWJ(JTAG-DP和 SW-DP)
  12. 图书在线网店的html,网上书城html模板.docx
  13. 腾讯电子签小程序就能开收据了
  14. 数据分析——KMeans聚类算法
  15. 台式计算机用什么电源线,台式电脑电源线接法图解(3分钟学会接电脑电源线)...
  16. 《查理·芒格:人类误判心理学》
  17. [高通SDM450][Android9.0]CTA认证--蓝牙、WIFI申请权限
  18. 3.1 Vendor Model浅析
  19. 模拟蒙蒂霍而悖论游戏——三门游戏python
  20. Error with Permissions-Policy header: Origin trial controlled feature not enabled: ‘interest-cohort‘

热门文章

  1. GARFIELD@02-10-2005
  2. 如何理解git的快照?
  3. 基于FT5x06嵌入式Linux电容触摸屏驱动
  4. 不同分辨率及其字母简称
  5. QQ登录的那些坑(如何开发qq登陆功能)
  6. RDIFramework.NET V2.9版本 WinFom部分新增与修正的功能
  7. 使用php开发,基于swoole扩展开发的工具 swoole-crontab
  8. java JFrame修改左上角的图片
  9. 接口作为参数,不同的接口调用不同的方法,例如:输出“I love Game”或输出“我喜欢游戏”...
  10. 基于移动设备的Wifi开发组件