線程間操作無效

方法一:

成都地區(qū)優(yōu)秀IDC服務器托管提供商(創(chuàng)新互聯(lián)).為客戶提供專業(yè)的成都移動機房,四川各地服務器托管,成都移動機房、多線服務器托管.托管咨詢專線:18980820575

public Form1()
  {
InitializeComponent();
    CheckForIllegalCrossThreadCalls = false;
  }

方法二:

       using System;
 using System.Threading;
 using System.Windows.Forms;
 
 namespace TestingUIThread
 {
     public partial class Form1 : Form
     {
         Thread thread = null;
 
         public Form1()
         {
            
             InitializeComponent();
         }
 
         private void btnEnable_Click(object sender, EventArgs e)
         {
             thread = new Thread(new ParameterizedThreadStart(EnableButton));
             thread.Start(null);
         }
 
         private void EnableButton(object o)
         {
             EnableButton();
         }
 
         private delegate void EnableButtonCallBack();
 
         private void EnableButton()
         {
             if (this.btnTest.InvokeRequired)
             {
                 this.Invoke(new EnableButtonCallBack(EnableButton));
             }
             else
             {
                 btnTest.Enabled = true;
                 btnTest.Text = "Enabled";
             }
         }
     }
 }

方法三: 通過ISynchronizeInvoke和MethodInvoker.

using System;
 using System.ComponentModel;
 using System.Threading;
 using System.Windows.Forms;
 
 namespace TestingUIThread
 {
     public partial class Form1 : Form
     {
         Thread thread = null;
 
         public Form1()
         {
             InitializeComponent();
         }
 
         private void btnEnable_Click(object sender, EventArgs e)
         {
             thread = new Thread(new ParameterizedThreadStart(MyEnableButton));
             thread.Start(null);
         }
 
         private void MyEnableButton(object sender)
         {
             ISynchronizeInvoke synchronizer = this;
 
             if (synchronizer.InvokeRequired)
             {
                 MethodInvoker minvoker = new MethodInvoker(this.EnableButton);
                 synchronizer.Invoke(minvoker, null);
             }
             else
             {
                 this.EnableButton();
             }
         }
 
         private void EnableButton()
         {
             btnTest.Enabled = true;
             btnTest.Text = "Enabled";
         }
     }
 }

文章題目:線程間操作無效
新聞來源:http://bm7419.com/article2/ipoiic.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供關鍵詞優(yōu)化、企業(yè)建站搜索引擎優(yōu)化、網站排名、定制開發(fā)、ChatGPT

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿網站制作