私のアプリケーションでは、最初のボタン イベントが再開された後に別のイベントを起動できるように、ボタン イベントをしばらく中断したいと考えています。c# では、スレッドを非同期に使用して実行する方法がわかりません。助けてください。前もって感謝します..
1008 次
3 に答える
2
これはアプリケーションの設計上の問題のように思えますが、間違った方向から取り組んでいます。
于 2009-04-21T05:03:22.133 に答える
2
2 番目のイベントを発生させ、それが終了するのを待ってから続行する場合は、最初のイベント ハンドラー内から同期的に発生させてみませんか? それははるかに簡単です。
編集:
1 つのボタンで別のボタンのイベント ハンドラーにあるコードをトリガーする場合は、代わりに別の関数に移動して、それを呼び出すことをお勧めします。つまり、次のようにします。
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 に答える
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 に答える