日期:2014-05-18  浏览次数:21036 次

C# Winform程序中后台信息如何在前台实时显示
大家好,请教一个问题。
我在一个winform程序中,设置后台每隔两分钟自动检查服务器的连通性及查询DB表相关数据条数,并保存到DB中。
我现在想在前台画面中实时显示后台检查的结果,请问这个要怎么实现呀?
希望各位好心的朋友给予思路的支持。


------解决方案--------------------
使用Timer定时更新Label或TextBox。
------解决方案--------------------
那就还是timer控件再显示一下。


------解决方案--------------------
timer是最简单的,用线程也可以。
------解决方案--------------------
1.timer类 监听timer的Tick事件 在Tick事件处理程序中将信息显示到界面(不需要用到委托)
2.多线程 设置窗体属性 checkforillegalcrossthreadcalls=false 在后台工作线程中直接将信息显示到界面
这个不稳定,运行可能有异常
3.多线程 在后台线程中使用委托
 eg:
 delegate void d(string args);
 void Thread_Proc(string args)
 {
if(this.invokerequired)

d dd=new d(Thread_Proc);
this.Invoke(dd,new Object[]{args});
}
{
Label1.Text=args;
}
 }