私のメインフォームでは、これを実行しています:
this.disableForm();
btnAbort.Enabled = true;
disableFormは、次のように定義された私のプログラムのFormの拡張メソッドです。
public static void disableForm(this Form f)
{
foreach (Control c in f.Controls)
{
f.Enabled = false;
}
f.Cursor = Cursors.WaitCursor;
}
問題は、次のコマンドbtnAbort.Enabled = true;
が何もしないことです。
コードをメソッドに直接配置し、を呼び出さない場合に機能しますdisableForm()
。なぜこうなった?それはスレッドと関係がありますか?