適切な状態にする場合はForm1から呼び出したForm2の処理が進んだときに、
Form1に進捗を通知するような仕組みを作らなくてはいけませんが、
通知する方法が解りません。良い方法などありましたら教えていただきたく宜しくお願いします。
現在の状態:Form1からForm2(Visible=true)のクラスを呼び出し処理を実行する。
進捗表示はForm2
適切な状態:Form1からForm2(Visible=false)のクラスを呼び出し処理を実行する。
進捗表示はForm1
Form1のラベル等を Form2で 更新して 表示しなおしてあげればいいだけかと思いますが・・・。
ま、オブジェクト指向で作るならば Form1に 進捗を受け取るメソッドを作成して
Form2から そのメソッドを 呼べばいいと思います。
http://www005.upp.so-net.ne.jp/h-masuda/vb6/vb6first/forms050.ht...
Form1のラベル等を Form2で 更新して 表示しなおしてあげればいいだけかと思いますが・・・。
ま、オブジェクト指向で作るならば Form1に 進捗を受け取るメソッドを作成して
Form2から そのメソッドを 呼べばいいと思います。
http://www005.upp.so-net.ne.jp/h-masuda/vb6/vb6first/forms050.ht...
Form2の処理を非表示でForm1から実行したいということは
Form2の中に共通で使用したいビジネスロジックがあると言う事だと思います。
共通部分をクラスとして抜き出し、進捗をイベントとして通知するのがいいのではないでしょうか
イベントの作成方法
http://homepage1.nifty.com/rucio/main/shokyu/jugyou29.htm
今後、プログラムを修正する可能性が殆ど無い場合は、直接呼び出す処理のほうが
修正箇所が少ないので楽かもしれません。
ただForm2にForm1のラベルやメソッドを渡すように記述してしまうと、
Form2とForm1の依存関係が強くなります。
また今後Form3からForm2の同じ処理を実行したい場合に、Form2の中に
Form3のラベルやメソッドを呼ぶ処理を記述しないといけなくなります。
コメント(0件)