zoukankan      html  css  js  c++  java
  • C#中使用ListView动态添加数据不闪烁并显示当前插入值

    首先,自定义一个类ListViewNF,继承自 System.Windows.Forms.ListView

     1 class ListViewNF : System.Windows.Forms.ListView
     2     {
     3         public ListViewNF()
     4         {
     5             // 开启双缓冲
     6             this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
     7 
     8             // Enable the OnNotifyMessage event so we get a chance to filter out 
     9             // Windows messages before they get to the form's WndProc
    10             this.SetStyle(ControlStyles.EnableNotifyMessage, true);
    11         }
    12 
    13         protected override void OnNotifyMessage(Message m)
    14         {
    15             //Filter out the WM_ERASEBKGND message
    16             if (m.Msg != 0x14)
    17             {
    18                 base.OnNotifyMessage(m);
    19             }
    20 
    21         }
    22 
    23 
    24     }

    然后,修改我们的Form代码中定义ListView的位置,将原来的

    System.Windows.Forms.ListView listView1;

    修改为

    ListViewNF listView1;

    c#让ListView 始终显示最新插入的数据

      listView1.Items[this.listView1.Items.Count - 1].EnsureVisible();

    https://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.setstyle(VS.80).aspx
    http://www.cnblogs.com/zdkjob/archive/2012/01/17/2324618.html
  • 相关阅读:
    kvm虚拟机网络管理
    kvm虚拟机存储管理
    kvm虚拟机迁移
    KVM嵌套虚拟化nested之CPU透传
    kvm认识和安装
    博客美化(二)
    日志管理
    IP分为五类
    windows(xshell)免密码登录
    mpvue的toast弹窗组件-mptosat
  • 原文地址:https://www.cnblogs.com/felixzh/p/4563872.html
Copyright © 2011-2022 走看看