用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看看. --------------------编程问答--------------------
貌似有道理,而且这样我刷新前和刷新后的选中条目状态不会改变的。
补充:.NET技术 , C#