vs2005 中,工作线程 操作 界面的线程的时候,一般会 报个错误,叫 么子 工作线程不能够修改主线程什么的。解决方法参考如下:

 #region 重新加载树图
        /// <summary>
        /// 重新加载树图
        /// </summary>
        private void RedrawTree()
        {
            if (treeView1.InvokeRequired)
            {
                treeView1.Invoke(new MethodInvoker(RedrawTree));
                return;
            }
             //ToDo 对界面控件的修改

            }
        }

还有种:

Invoke(new MethodInvoker(BeginLoad), null);//适合没有参数的函数

还有种,是用事件

  #region 设置节点的数据
        delegate void SetNodeValuesDelegate(TreeNode node, TreeItem item);
        /// <summary>
        /// 设置节点的数据
        /// </summary>
        /// <param name="node"></param>
        /// <param name="item"></param>
        private void SetNodeValues(TreeNode node, TreeItem item)
        {
            if (treeView1.InvokeRequired)
            {
                treeView1.Invoke(new SetNodeValuesDelegate(SetNodeValues), node, item);
                return;
            }
// ToDo 对界面控件的修改         

        }

一些原理文章,参考:

http://tag.csdn.net/tag/invokerequired/1.html

http://blog.csdn.net/Depraved_Survival/archive/2007/09/03/1770950.aspx

http://www.yesky.com/20030225/1653758.shtml

http://www.x2blog.cn/jinhong618/?tid=22389

 

以下是wpf中遇到的问题:

首先,参考文章:http://www.cnblogs.com/zhouyinhui/archive/2007/09/16/894719.html

posted on 2007-12-14 16:51  颜昌钢  阅读(1263)  评论(0编辑  收藏  举报