C#跨线程访问控件,设置属性或是获得属性参数等

来源:互联网 发布:24芯三网合一网络箱 编辑:程序博客网 时间:2024/06/01 09:28

学C#不久,这是我总结的两点跨线程访问控件;

1、访问文本框,获得文本框的内容,文本框名:txtMessage
     private delegate string GetSendMessageDelegate();//定义委托
        private string getSendMessage()
        {
            string str = "" ;
            if (txtMessage.InvokeRequired)
            {
                GetSendMessageDelegate d = new GetSendMessageDelegate(getSendMessage);
                str= txtMessage.Invoke(d).ToString();
             
            }
            else
            {
                str = txtMessage.Text;
                txtMessage.Text = "";
            }
            return str;   
        }

   使用时,直接调用函数getSendMessage();就可返回文本框的文本内容。
2、访问线程,设置控件属性等,下面以设置文本框的文本为例,文本框name是txtClientsCount;
 
        private delegate void AddClientCountDelegate(string count);
        private  void AddClientCount(string count)
        {
            if (txtClientsCount.InvokeRequired)
            {
                AddClientCountDelegate d = new AddClientCountDelegate(AddClientCount);
                txtClientsCount.Invoke(d, count);
            }
            else
            {
                txtClientsCount.Text = count;
            }
        }


0 0
原创粉丝点击