2 つのオブジェクトがあります。ボタンとプログレス バーを備えた Windows フォームと、アルゴリズムを処理する別のオブジェクト。
アルゴリズム オブジェクトには、イベントとプロパティがあります。イベントはProgressChanged
で、プロパティはProgress
(int) です。
呼び出しウィンドウで、ボタンはアルゴリズム オブジェクトの一連のステップを開始します。各ステップ (またはサブステップ) が発生すると、ProgressChanged イベントが発生し、ウィンドウには、本質的に Progress プロパティに対して進行状況バーをインクリメントするイベント ハンドラーがあります。
私が直面している問題は、アルゴリズムが比較的長時間実行される可能性 (および高い可能性) があるため、アルゴリズムを独自のバックグラウンド スレッドに移動し、イベントをウィンドウにプッシュする必要があることです。
私の問題は、マルチスレッドに関して何をしているのか完全にはわからないということです。見ていControl.Invoke
て、少し迷っています。
誰かが私を正しい方向に向けることができますか?