当前位置:编程学习 > C#/ASP.NET >>

用Timer控件刷新listview,怎样可以不闪?

因为我用Timer每秒刷新一次listview,所以每秒都闪一下。我不想让listview闪动,感觉看起来不美观。有没有什么办法? --------------------编程问答-------------------- 定义一个变量 只有当LISTVIEW有了变动就把这个变量标记为TRUE
当这个变量是TRUE的时候TIMER控件才刷新LISTVIEW 刷新完后吧变量变回FALSE --------------------编程问答-------------------- 每次UI操作都增加application.doEvents() --------------------编程问答-------------------- this.SuspendLayout();
刷新的代码;
this.SuspendLayout(false);

试试吧,不一定行。 --------------------编程问答-------------------- 不停的刷新不好呀。
Timer1.Enabled = false;
RefreshListView();
Timer1.Enabled = true; --------------------编程问答-------------------- using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

namespace FED
{
    public class DoubleBufferListView : ListView
    {
        public DoubleBufferListView()
        {
            SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
            UpdateStyles();
        }
    }

}
用这个代替LISTVIEW --------------------编程问答-------------------- .........你刷新是怎么刷的 不要使用Items.Add  

使用修修改ITEMS[?].Text看看. --------------------编程问答--------------------
引用 6 楼 zgke 的回复:
.........你刷新是怎么刷的 不要使用Items.Add 

使用修修改ITEMS[?].Text看看.


貌似有道理,而且这样我刷新前和刷新后的选中条目状态不会改变的。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,