0

在我的应用程序中,我想暂停一个按钮事件一段时间,以便我可以触发另一个事件,之后第一个按钮事件将恢复。在 c# 中,我不知道如何使用线程异步执行它。请帮忙。提前致谢..

4

3 回答 3

2

如果您想触发第二个事件并等待它完成后再继续,那么为什么不从第一个事件处理程序中同步触发它呢?那会简单得多。

编辑:

如果您希望一个按钮触发另一个按钮的事件处理程序中的代码,我建议您将它移出一个单独的函数,然后调用它。换句话说,这样做:

private void button1_Click(object sender, EventArgs e)
{
    DoButtonStuff();
}

private void button2_Click(object sender, EventArgs e)
{
    DoButtonStuff();
}

private void DoButtonStuff()
{
    // code that was originally in button2_Click()
}

如果按钮执行完全相同的操作,您甚至可以为它们分配完全相同的处理程序。

但是,如果您真的必须以编程方式“单击”按钮,那么最简单的方法可能是:

button2.PerformClick();

这将引发一个Click事件。

于 2009-04-21T04:54:38.613 回答
2

这听起来像是您的应用程序中的一个设计问题,而您正在从错误的角度解决它。

于 2009-04-21T05:03:22.133 回答
0

你能和后台工作人员做点什么吗

background worker bw = new background worker


button1

while bw.inprogress
{

//kill time

}
bw.(dosomething)



button2
{
while bw.inprogress
{
//killtime

}
bw.run(dosomething)
}
于 2009-04-21T12:10:03.060 回答