listView1怎么让每行都定时刷新 你在更新前加入listview.BeginUpdate()更新listview.EndUpdate();这样就不闪了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以观察一下你的机器的cpu占用率。如果它连续1分钟一直都是90%以上的高指标,那么无论如何你的程序的逻辑都是有bug的,可能要求“让每行都实时更新数据”本身就是一个不切实际的要求,它使得你的机器一直在CPU瓶颈中运行。 void runLeft() { Thread s = new Thread(new ThreadStart(LeftListView)); s.IsBackground = true; s.Start(); } public void LeftListView() { while (true) { DataView dv = db.ExecuteDataView("select * from StockTheme order by id asc"); if (dv == null) { return; } listView2.Invoke(new MethodInvoker(delegate() { { listView2.BeginUpdate(); } })); listView2.Invoke(new MethodInvoker(delegate() { { listView2.Items.Clear(); } })); // listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); for (int i = 0; i < dv.Count; i++) { listView2.Invoke(new MethodInvoker(delegate() { { listView2.Items.Add(new ListViewItem(new string[] { dv[i]["ID"].ToString(), dv[i]["typename"].ToString(),"-", ThemeNum(dv[i]["id"].ToString()) })); } })); } listView2.Invoke(new MethodInvoker(delegate() { { listView2.EndUpdate(); } })); Thread.Sleep(1000); } }这样还是闪啊,我使用一个线程来刷新 老大。更新不是这么更新的哇如果你只是改变里面的文本,只要list.item[0].Text=xxxx就可以了而不是你上面写的把所有的行都删除了再添加,这样你不刷新才怪。 其他程序集(项目)不能利用上一个程序集的接口吗 C#线程问题 ??C/S服务端用win32和GUI性差别能很大啊,谁的服务端是GUI的呢? 对强类型集合的键进行操作 我该怎么办?c#+Oracle的问题 有关base关键字方面的理解,请教 如何给hashtable中的value排序 (GDI+高手请进)在画图区域内画了很多图形,如何实现选择其中的一个图形 C# webBrowser打开网页并自动填表问题 很简单的statusbar显示问题!! Adobe AIR程序,可以反编译吗? 初学者遇到窗体假死,请大侠给帮帮忙。
{
Thread s = new Thread(new ThreadStart(LeftListView));
s.IsBackground = true;
s.Start();
}
public void LeftListView()
{
while (true)
{
DataView dv = db.ExecuteDataView("select * from StockTheme order by id asc");
if (dv == null) { return; } listView2.Invoke(new MethodInvoker(delegate() { { listView2.BeginUpdate(); } })); listView2.Invoke(new MethodInvoker(delegate() { { listView2.Items.Clear(); } }));
// listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
for (int i = 0; i < dv.Count; i++)
{
listView2.Invoke(new MethodInvoker(delegate() { { listView2.Items.Add(new ListViewItem(new string[] { dv[i]["ID"].ToString(), dv[i]["typename"].ToString(),"-", ThemeNum(dv[i]["id"].ToString()) })); } }));
}
listView2.Invoke(new MethodInvoker(delegate() { { listView2.EndUpdate(); } })); Thread.Sleep(1000);
}
}这样还是闪啊,我使用一个线程来刷新
而不是你上面写的把所有的行都删除了再添加,这样你不刷新才怪。