C# Winform开发中,通过timer控件对Listview中的数据进行刷新,存在不停闪烁的问题!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Winform开发中,通过timer控件对Listview中的数据进行刷新,存在不停闪烁的问题!相关的知识,希望对你有一定的参考价值。

将Timer设置5秒进行刷新,筛选出两小时内的数据,但每隔5秒Listview中的所有数据都会闪烁,很不舒服,怎么解决!新手,刚学,求指导!谢谢,界面如图

参考技术A

有个很好用的

            this.listView1.BeginUpdate();
            //中间是更新界面的代码
            this.listView1.EndUpdate();

本回答被提问者和网友采纳

C# winform中timer函数如何停止,点运行后可再次启动周期事件

在MenuStrip1控件中,在Form1窗体没有添加timer1控件
运行RunMenu_Click
private void RunMenu_Click(object sender, EventArgs e)

//到达时间的时候执行事件,周期为10秒;
System.Timers.Timer timer1 = new System.Timers.Timer(10 * 1000);
timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Tick);
timer1.AutoReset = true; //设置一直执行(true)
timer1.Enabled = true; //是否执行System.Timers.Timer.Elapsed事件

RunMenu.Enabled = false;
StopMenu.Enabled = true;

private void timer1_Tick(object sender, EventArgs e)

//是连接sql,插入数据操作

停止StopMenu_Click,停止timer应该怎么实现呢
private void StopMenu_Click(object sender, EventArgs e)

??timer1 .Enabled = false; ??吗,timer1没有此参数。
RunMenu.Enabled = true;
StopMenu.Enabled = false;

运行可以,就是停止StopMenu不会写,Form1窗体没timer1控件
StopMenu_Click 函数应该怎么写,谢谢!!
嗯,得把timer1拿出来定义辉比较行的通。
但是按一楼的在函数外实例化不成功。汗....
应该怎么实例化啊

在外面定义一个变量,不要实例化
System.Timers.Timer timer1;
然后:
private void RunMenu_Click(object sender, EventArgs e)

//到达时间的时候执行事件,周期为10秒;
timer1 = new System.Timers.Timer(10 * 1000);
//这里不要定义变量!
timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Tick);
timer1.AutoReset = true; //设置一直执行(true)
timer1.Enabled = true; //是否执行System.Timers.Timer.Elapsed事件

RunMenu.Enabled = false;
StopMenu.Enabled = true;

最后:
private void StopMenu_Click(object sender, EventArgs e)

timer1.Stop();
//这里停止计时
RunMenu.Enabled = true;
StopMenu.Enabled = false;
参考技术A //到达时间的时候执行事件,周期为10秒;
System.Timers.Timer timer1 = new System.Timers.Timer(10 * 1000);
timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Tick);
private void RunMenu_Click(object sender, EventArgs e)


timer1.AutoReset = true; //设置一直执行(true)
timer1.Enabled = true; //是否执行System.Timers.Timer.Elapsed事件

RunMenu.Enabled = false;
StopMenu.Enabled = true;

private void timer1_Tick(object sender, EventArgs e)

//是连接sql,插入数据操作

停止StopMenu_Click,停止timer应该怎么实现呢
private void StopMenu_Click(object sender, EventArgs e)

timer1 .Enabled = false;
RunMenu.Enabled = true;
StopMenu.Enabled = false;

这样就行了,把Timer1拿出来
不然会提示你Timer1未定义
参考技术B timer1.stop();

以上是关于C# Winform开发中,通过timer控件对Listview中的数据进行刷新,存在不停闪烁的问题!的主要内容,如果未能解决你的问题,请参考以下文章

C#中winform的timer控件定时弹窗后,会弹出多个同样的窗口?

求C# WinForm DataGridViewRow 控件的用法 要常用的 详细点 谢谢

C# winform程序,UI界面锁死。如何处理?

C#的winform里statusStrip控件怎么显示系统时间?

WinForm用户控件动态创建添加控件timer控件--12月12日

关于C#中timer类