C#Thread類—多線程

來源:互聯網
上載者:User
建立包含線程的 Visual C# 應用程式
  1. 啟動 Microsoft Visual Studio .NET、Microsoft Visual Studio 2010 或 Microsoft Visual 2008。
  2. 建立一個名為 ThreadWinApp 的 Visual C# Windows 應用程式項目。
  3. 向表單中添加一個“按鈕”控制項。預設情況下,此按鈕名為“Button1”。
  4. 向表單中添加一個“ProgressBar”組件。預設情況下,此進度列名為“ProgressBar1”。
  5. 按右鍵該表單,然後單擊“查看代碼”。
  6. 將以下語句添加到該檔案的開頭:

    using System.Threading;
  7. 為“Button1”添加以下“Click”事件處理常式:

    private void button1_Click(object sender, System.EventArgs e){MessageBox.Show("This is the main thread");}
  8. 將以下變數添加到“Form1”類中:

    private Thread trd;
  9. 將以下方法添加到“Form1”類中:

    private void ThreadTask(){int stp;int newval;Random rnd=new Random();while(true){stp=this.progressBar1.Step*rnd.Next(-1,2);newval = this.progressBar1.Value + stp;if (newval > this.progressBar1.Maximum)newval = this.progressBar1.Maximum;else if (newval < this.progressBar1.Minimum)newval = this.progressBar1.Minimum;this.progressBar1.Value = newval;Thread.Sleep(100);}}

    注意:這是線程的底層代碼。此段代碼是一個無限迴圈,它隨機增加或減小“ProgressBar1”中的值,然後等待 100 毫秒後再繼續。

  10. 為“Form1”添加以下“Load”事件處理常式。此段代碼將建立一個線程,使該線程成為後台線程,然後啟動該線程。

    private void Form1_Load(object sender, System.EventArgs e){Thread trd = new Thread(new ThreadStart(this.ThreadTask));trd.IsBackground = true;trd.Start();}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.