作者xanlich (...)
看板C_Sharp
標題[問題] 有關thread的問題
時間Wed May 21 17:46:27 2008
在寫C# windows程式時, 假如說有兩個按扭事件
可以用下面的寫法, 使得按button1時, 也觸發button2_Click的事件, 如下:
private void button1_Click(object sender, EventArgs e)
{
button2_Click(sender, e);
}
private void button2_Click(object sender, EventArgs e)
{
.
.
.
}
但如果是用Threadpool執行的程式片段, 想呼叫button2_Click , 如下:
ThreadPool.QueueUserWorkItem(new WaitCallback(ABC));
執行以下Thread:
public void ABC(object p)
{
button2_Click(sender, e); <--這樣不行, 沒有sender跟e
}
要怎樣才能在Thread裡去執行button2_Click? 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.107.214
→ O2000:button2.PerformClick(); 05/21 17:50
推 hamsters:把 sender 跟 e 放在陣列傳給 p 05/22 10:45
→ xanlich:1F的方法不行喔!我後來是用一般thread呼叫Form物件的方法 05/22 17:35
→ xanlich:用invoke跟delegate來完成,2F的方法也不行,thread沒有權限 05/22 17:36
→ xanlich:控制form的物件,即使丟過去也一樣,我試過了 05/22 17:36
→ xanlich:不過還是謝謝你們回答 05/22 17:37