一、发现问题

如果发送数据过快的情况下,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

by 羊羊得亿

2017-09-26 ShenZhen

C# 解决ListView控件显示数据出现闪屏的问题的更多相关文章

  1. 使用Listview控件显示数据

    1.图像列表控件 ImageList是含有图像对象的集合,可以通过索引或关键字引用该集合中的每个对象. ImageList空间的属性 属性 说明 Images 存储在图像列表中的所有图像 ImageS ...

  2. Windows程序==>>使用ListView控件展示数据

    使用ListView控件展示数据 01.ImageList控件 1.了解了解         属性 说明 Images 储存在图像列表中的所有图像 ImageSize 图像列表中图像的大小 Trans ...

  3. Atitit.dwr3 不能显示错误具体信息的解决方式,控件显示错误具体信息的解决方式 java .net php

    Atitit.dwr3 不能显示错误具体信息的解决方式,控件显示错误具体信息的解决方式 java .net php 1. Keyword/subtitle 1 2. 使用dwr3的异常convert处 ...

  4. WinForm 之 使用ListView控件展示数据

    在学习了这么多的WinForm基本控件后,今天在来学习一个比较有意思的包含图片的控件! >>>图像列表控件 ImageList是含有图像对象的集合,可以通过索引或关键字引用该集合中的 ...

  5. Delphi7连接MySql数据库-DBGrid控件显示数据

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

  6. 使用ListView控件展示数据

    属性名称    说明items   指定显示那种视图View   指定显示那种视图largelmagelist  大图标图像的imagelist控件SmallLmagelist  小图标图像的imag ...

  7. NPOI导出WPF DataGrid控件显示数据

    最近做个项目,需要导出DataGrid显示的数据,中间遇到了不少的坑,在此纪录一下,方便以后查看,也希望能给用到的人,一点帮助. 导出DataGrid显示的数据,并不是导出DataGrid的Items ...

  8. ListView控件(上)数据适配器:ListView绑定监听是SetOnItemClickListener

    (一) 1.效果图: 2.MainActivity.java package com.example.app5; import android.support.v7.app.AppCompatActi ...

  9. asp.net LINQ LinqDataSource控件显示数据和DropdownList显示数据

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

随机推荐

  1. 菜鸟之webservice(一) 服务端搭建

    首先说一下,为什么取名叫菜鸟之webservice,由于本人技术真的不咋滴,写博客仅仅是为了对所学知识的总结.webservice对于我来说一直都是高大上的感觉,一个java web和javase都没 ...

  2. 35.QQ大数据模型

    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stri ...

  3. 编写jsp代码时出现的红色提示线错误

    将jsp页面关闭:点击"X"号,例如图中的index.jsp页面的”X"号,或者右键—“close"也可以.   双击jsp页面:重新启动页面,页面的错误提示线 ...

  4. Codefroces 731C. Socks

    C. Socks time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

  5. 在使用FireFox浏览器时,经常打开新标签,页面总是不断自动刷新,解决办法

    可以用如下方法尝试(逐个尝试,看看哪个管用): 1.地址栏输入 about:support,右上角有个翻新Firefox,点击,等待浏览器重启,即可. 2.点击:工具-附加组件,把“火狐主页和标签管理 ...

  6. LG Gram 2018 z980 白

    因为今年8代处理器i5的双核变成了四核,感觉是个换电脑的好时机,本来打算买macbook,但是6月的发布会并没有发布,于是开始寻找一些比较有特点的笔记本电脑. 了解了这样一款笔记本 LG GRAM 1 ...

  7. shell中IF的用法介绍

    一.语法结构 if [ condition ] then      statements  [elif condition      then statements. ..]  [else       ...

  8. 循环GridControl所有行

    ; i < gridView1.RowCount; i++) { DataRowView row = (DataRowView)gridView1.GetRow(i); } gridView1是 ...

  9. 【java】itoo项目实战之大数据查询之使用 new map 优化hibernate之级联查询

    在我的上一篇博客<[java]itoo项目实战之hibernate 懒载入优化性能>中,我曾提到过学生数据有2万条,查询数据十分的慢,这是让人非常受不了的事情.看着页面进度条一直转着圈圈, ...

  10. Intersection between 2d conic in OpenCASCADE

    Intersection between 2d conic in OpenCASCADE eryar@163.com Abstract. OpenCASCADE provides the algori ...