作者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
1F:→ O2000:button2.PerformClick(); 05/21 17:50
2F:推 hamsters:把 sender 跟 e 放在阵列传给 p 05/22 10:45
3F:→ xanlich:1F的方法不行喔!我後来是用一般thread呼叫Form物件的方法 05/22 17:35
4F:→ xanlich:用invoke跟delegate来完成,2F的方法也不行,thread没有权限 05/22 17:36
5F:→ xanlich:控制form的物件,即使丢过去也一样,我试过了 05/22 17:36
6F:→ xanlich:不过还是谢谢你们回答 05/22 17:37