龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

线程问题:C#跨线程访问Winform控件的方法

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
可以实现,code如下: private void requestCompleted(IAsyncResult asyncResult) { System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false; StringBuilder ss = new StringBuilder(); if (asyncResult == null) return; System.Net

可以实现,code如下:

private void requestCompleted(IAsyncResult asyncResult)
        {
            System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls   =   false;
            StringBuilder ss = new StringBuilder();
            if (asyncResult == null) return;
            System.Net.HttpWebRequest hwr = asyncResult.AsyncState as System.Net.HttpWebRequest;
            System.Net.HttpWebResponse response =
              (System.Net.HttpWebResponse)hwr.EndGetResponse(asyncResult);
            System.IO.StreamReader sr = new  System.IO.StreamReader(response.GetResponseStream());
            ss.Append(sr.ReadToEnd().ToString());

            this.textBox1.Text = ss.ToString();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            System.Net.HttpWebRequest request =
            (System.Net.HttpWebRequest)System.Net.WebRequest.Create("http://www.cnblogs.com");
            IAsyncResult asyncResult = request.BeginGetResponse(requestCompleted, request);    
        }


【System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls   =   false; 】可以解决线程间调用无效的问题。
精彩图集

赞助商链接