C# 解决LISTVIEW控件显示数据出现闪屏的问题
本文转自: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控件显示数据出现闪屏的问题相关推荐
- Android eclipse实现创建水果表并添加信息,将其以ListView控件显示
Android eclipse实现创建水果表并添加信息,将其以ListView控件显示 整个程序包含:三个.java文件以及两个.xml文件 1.Fruit.java: package com.gpn ...
- repeater 控件ajax绑定数据源,用 DataList 和 Repeater 控件显示数据(C#) | Microsoft Docs...
使用 DataList 和 Repeater 控件显示数据 (C#) 09/13/2006 本文内容 在前面的教程中,我们使用了 GridView 控件来显示数据. 从本教程开始,我们将介绍如何生成包 ...
- 在ASP.NET中使用ListView控件对数据进行显示、分页和排序
最终效果图如下所示: 使用ListView控件是不需要写代码的,下面我们来看一下ListView的操作流程: 1.首先新建一个ASP窗体 2.然后拖入一个ListView和一个SqlDataSourc ...
- C# ListView控件显示表格(自适应宽度),添加 Checkbox,删除选择项,选中颜色和鼠标滑过背景变色
本文转载自:http://www.liangshunet.com/ca/201309/586362553.htm 亮术网 2020-03-07 本网原创 DataGridView控件功能十分强大,显示 ...
- 使用ListView控件展示数据
一.使用ListView实现大图标小图标的功能: 1.拖一个ListView控件 2.拖两个imageList控件,并且重命名为imgBig和imgSmall,分别设置两个控件的图片和大小. 3.编辑 ...
- delphi7 mysql控件_Delphi7连接MySql数据库-DBGrid控件显示数据
一个简单的Delphi7小程序,使用MySql数据库做简单查询,用DBGrid控件显示结果,实现过程如下: (1)在MySql中新建demouser表,插入记录用于测试. (2)在Delphi7中新建 ...
- C# 解决datagridview控件显示大量数据拖拉卡顿问题
问题描述: 由于在使用SQL查询大量的数据并一次显示到dataGridView控件,出现拖拉的时候卡顿. 解决方法: 1.首先分页. 2.其次把显示控件设置双buffer. 解决过程如下: 1.设置d ...
- ListView控件绑定数据
1.创建ListView程序对应的布局文件(activity_main.xml) <LinearLayout xmlns:android="http://schemas.android ...
- elementUI el-tabs 控件设置点击 闪屏问题
之前用于手机闪屏问题 解决 用了v-cloak 指令 放在 v-if 和v-for上 代码如图 <el-tabs type="border-card" @tab-clic ...
最新文章
- Python scrapy 命令行传参 以及发送post请求payload参数
- python 安装包时出现红字_Python安装(Windows 7 8 10)
- TCP往返时延的估计和超时
- Xampp中的apache,tomcat无法启动的问题
- 【最新合集】编译原理习题(含答案)_4-7语法分析_MOOC慕课 哈工大陈鄞
- 关于Vue中计算属性computed和methods属性的区别,你了解多少呢
- Php xml 目录,PHP-PHP+xml的无限分类树目录的方法?
- 常用SQL查询语句整理笔记【持续更新】
- 181101每日一句
- SQLyog——下载2058问题
- STM32笔记之 SWJ(JTAG-DP和 SW-DP)
- 图书在线网店的html,网上书城html模板.docx
- 腾讯电子签小程序就能开收据了
- 数据分析——KMeans聚类算法
- 台式计算机用什么电源线,台式电脑电源线接法图解(3分钟学会接电脑电源线)...
- 《查理·芒格:人类误判心理学》
- [高通SDM450][Android9.0]CTA认证--蓝牙、WIFI申请权限
- 3.1 Vendor Model浅析
- 模拟蒙蒂霍而悖论游戏——三门游戏python
- Error with Permissions-Policy header: Origin trial controlled feature not enabled: ‘interest-cohort‘
热门文章
- GARFIELD@02-10-2005
- 如何理解git的快照?
- 基于FT5x06嵌入式Linux电容触摸屏驱动
- 不同分辨率及其字母简称
- QQ登录的那些坑(如何开发qq登陆功能)
- RDIFramework.NET V2.9版本 WinFom部分新增与修正的功能
- 使用php开发,基于swoole扩展开发的工具 swoole-crontab
- java JFrame修改左上角的图片
- 接口作为参数,不同的接口调用不同的方法,例如:输出“I love Game”或输出“我喜欢游戏”...
- 基于移动设备的Wifi开发组件