呼び出されたクラスでの処理進捗を、呼び出し側のFormクラスで表示したい(値の渡し方)
Q&A
Closed
解決したいこと
Formクラスから、「別.cs」ファイルの画像処理クラスを呼び出して処理(処理時間10秒程)しています。
呼び出された画像処理クラスでの処理進捗を、呼び出し側のFormクラスで表示したいです。
エラーではないですが…書いていて違うんじゃないかと思って質問しました。
こういった場合、スレッドでしょうか?
宜しくお願いします。
環境など:Win10+VisualStudio2015
言語など:C#、クラシックと呼ばれて久しいフォームアプリ
発生している問題・エラー
エラーではないですが…ショボいコードは以下の通りです。
該当するソースコード
- Formクラスで、
・Formのインスタンスを公開(Public)
・「処理ピクセル数」をプロパティ(int)として公開(Public) - 画像処理クラスで、随時「処理済画素数」を下書込む。
- Formクラスで、タイマーを使って進捗を表示
Formクラス側↓
public partial class Formメイン : Form
{
//親インスタンスの定義とプロパティ定義
private static Formメイン formMainInstance;
//値の設定はFormMain_Loadにて ⇒ FormMain.formMainInstance = this;)
public static Formメイン _FormMainInstance
{
get { return formMainInstance; }
private set { formMainInstance = value; }
}
private int p処理済画素数;
public int _StatusDone
{
get { return p処理済画素数; }
set { p処理済画素数 = value; }
}
・・・省略・・・
//呼出部分の抜粋↓
Class画像処理 c = new Class画像処理();
result = c._ImageMatching(画像のパス);
画像処理クラス側(Formクラスのプロパティに書込む部分)↓
//検索完了した画素数をインクリメント!!!
Formメイン._FormMainInstance._StatusDone += 1;
自分で試したこと
上記のコード