// 先定義一個委托 public delegate void SetTextCallback(string text); // 單擊按鈕 private void button1_Click(object sender, EventArgs e) { Thread t = new Thread(new ThreadStart(fun1)); t.Start(); } // 線程函數體 private void fun1() { setText("hello"); } // 設置文本函數 private void setText(string text) { if (label1.InvokeRequired) { SetTextCallback s = new SetTextCallback(setText); Invoke(s, new string[] { text }); } else { label1.Text = text; } }