假如程序里有N多控件 要得到一个根控制再多线程更新其子控件,如果不写N多个代理有办法吗?
假如有一个TreeView 想多线程更新这个控件,因为有clear(),add() N多操作,可以只用一个简单的函数吗?
像下边这个种方法问题出在哪里?
        delegate TreeView GetTreeViewCallback(TreeView t);
        private TreeView GetTreeView(TreeView t)
        {
            if (t.InvokeRequired)
            {
                GetTreeViewCallback sbc = new GetTreeViewCallback(GetTreeView);
                TreeView t=this.Invoke(sbc, new Object[] { t }) as TreeView;
                return t;//这种情况报和没做委托是一样的
                //return GetTreeView(t); //这种情况会进入死循环
            }
            else
            {
                return t;
            }
public void Test(){
GetTreeView(treeView1).Nodes.Clear();
GetTreeView(treeView1).Nodes.Add("Test");
}