using System; using System.Drawing; using System.Windows.Forms; using System.Threading; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //前台線程和后台線程唯一區別就是:應用程序必須運行完所有的前台線程才可以退出; //而對於后台線程,應用程序則可以不考慮其是否已經運行完畢而直接退出, //所有的后台線程在應用程序退出時都會自動結束。 MessageBox.Show("點擊按鈕啟動了一個前台線程。\r\n前台線程:“既然我上台了,我一定要表演完,不然我跟你沒完!”"); //前台線程 Thread t1 = new Thread(Say); t1.IsBackground = false; t1.Name = "前台線程"; t1.Start(); } private void button2_Click(object sender, EventArgs e) { MessageBox.Show("點擊按鈕啟動了一個后台線程。\r\n后台線程:“既然我沒上台,我受制於應用程序,它關了我就自動關了(舞台都關了,我在后台再干活就沒意思了)!”"); //后台線程 Thread t2 = new Thread(Say); t2.IsBackground = true; t2.Name = "后台線程"; t2.Start(); } private void Say() { for (int i = 0; i < 100; i++) { MessageBox.Show("我演,我賣力的演!\n\r把主窗口關了,你看我還在不在?"+i.ToString()); } } } }