私のソリューションでは、ボタンクリックで単語の自動化が開始されるユーザーインターフェイスを取得しました(そのボタンをwordStartと呼びましょう)。この単語オートメーションを別のボタンクリックで中断したいと思います (そのボタンを wordBreak と呼びましょう)。
しかし、wordStart をクリックすると、作業中にユーザー インターフェイスがフリーズし、wordBreak ボタンをクリックできなくなります。私はまだプログラミングに少し慣れていないので、これはアプリケーションがシングルスレッドであるか、少なくともマルチスレッドで解決できるためであるに違いありません。
したがって、これは 2 in 1 の質問です。1. シングル スレッド アプリケーションでコードの実行を停止することは可能ですか? 2. コードの実行を停止するにはどうすればよいですか?
質問番号2については、インターネットを少し調べたところ、うまくいくと思われるこれらの方法が見つかりましたが、他の提案は大歓迎です:
Application.Exit
Application.Shutdown
Environment.Exit
編集:これはマルチスレッドで行うべきだと思った。私はそれについてあまり経験がないので、誰かがここで私を助けたい場合は、このコードを質問に追加しました。それまでの間、私はこれに対する解決策を自分で探します。
private void generateButton_Click(object sender, EventArgs e)
{
//Thread or backgroundworker should handle this event?
commandsChosed(); //Event to be throwed - this starts the word automation
}
private void stopButton_Click(object sender, EventArgs e)
{
//Stop/pause the working thread
}