c#のinvokeメソッドを適切に使用する方法

C# では Invoke メソッドを使用して別のスレッドから UI 操作を実行できます。以下に Invoke メソッドの正しい使用方法を示します。

  1. UI スレッドから Invoke メソッドの呼び出しを実行していることを確認してください。コントロール クラスの InvokeRequired プロパティを使用すると、現在のスレッドが UI スレッドかどうかを確認できます。InvokeRequired が true の場合、UI スレッドで操作を実行するには Invoke メソッドを使用する必要があります。
if (control.InvokeRequired)
{
    control.Invoke(new Action(() => {
        // 在UI线程中执行操作
    }));
}
else
{
    // 在UI线程中执行操作
}
  1. UIスレッドで実行したい処理を格納したデリゲートをInvokeメソッドに渡します。ラムダ式や新しいデリゲートを作成して処理を指定できます。
control.Invoke(new Action(() => {
    // 在UI线程中执行操作
}));

// 或者

control.Invoke(new Action(MyMethod));
  1. UIスレッドで実行する処理のコードを記述する。
void MyMethod()
{
    // 在UI线程中执行的操作
}

Invokeメソッドを使うことで、どのスレッドからInvokeメソッドを呼び出してもUI上で実行する必要があるあらゆる操作をUIスレッドで実行できます。

广告
広告は10秒後に閉じます。
bannerAds