各位大虾:
我这里想用定时器实现刷新主界面的treeview空间,但总是提示我需用control.Invoke或control.BeginInvoke来实现,并且定时器也不能按时启动,每次需要点一下菜单才进入Refresh线程。TimerCallback callback=new TimerCallback(Refresh);
System.Threading.Timer timer=new System.Threading.Timer(callback,null,0,30000);public void RefreshDisplay()
{
lock(this)
{
treeviewNodes.BeginUpdate();
newTreeInfo.ClearTreeNodes(treeviewNodes);
SqlAccess.RefreshAlarm();
newTreeInfo.FillTreeNodes(treeviewNodes,"xx分公司");
treeviewNodes.EndUpdate();
}
}public delegate void RefreshDisplayDelegate();public void refresh()
{
RefreshDisplayDelegate refreshDisplay=new RefreshDisplayDelegate();
this.Invoke(refreshDisplay);
}
我这里想用定时器实现刷新主界面的treeview空间,但总是提示我需用control.Invoke或control.BeginInvoke来实现,并且定时器也不能按时启动,每次需要点一下菜单才进入Refresh线程。TimerCallback callback=new TimerCallback(Refresh);
System.Threading.Timer timer=new System.Threading.Timer(callback,null,0,30000);public void RefreshDisplay()
{
lock(this)
{
treeviewNodes.BeginUpdate();
newTreeInfo.ClearTreeNodes(treeviewNodes);
SqlAccess.RefreshAlarm();
newTreeInfo.FillTreeNodes(treeviewNodes,"xx分公司");
treeviewNodes.EndUpdate();
}
}public delegate void RefreshDisplayDelegate();public void refresh()
{
RefreshDisplayDelegate refreshDisplay=new RefreshDisplayDelegate();
this.Invoke(refreshDisplay);
}
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpguide/html/cpovrAsynchronousProgrammingOverview.asp