- - PR -
特定のフォームの動作を停止させる
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-10-01 19:12
いつもお世話になってます。
もしわかりましたら教えていただけると助かります。 現在複数のフォームを同時に表示しています。 そのうち特定のフォームの動作(Form上のTimerの動作など) を別のフォームから停止させたいのですが、 なにか方法はありませんでしょうか? よろしくお願いします。 開発環境は VisualStudio .Net 2003 VB で、 OSは WindowsXP Pro を使用しています。 | ||||||||
|
投稿日時: 2007-10-01 19:17
Timer が設置されている Form で動作を停止させるメソッドを書いて、それを公開すれば良いだけなのではないでしょうか。 それだけで外から呼び出せますよね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-10-02 09:29
じゃんぬねっとさん、いつも回答ありがとうございます。
特定のフォームが複数あり、それぞれが違うテンプレートの可能性もあります。 ですので、その方法だとちょっと厳しいかな?と思っています。 停止させた後、復帰させる必要もあるため最小限の改造で実装したいと考えています。 よろしくお願いします。 | ||||||||
|
投稿日時: 2007-10-02 10:02
何が厳しいのか判らない。
じゃんぬねっとさんが示された方法より単純な方法があるとは思えないんですけど。 1.新しいインタフェースを作って Form の停止、開始メソッドを定義 2.すべてのテンプレートに1.を実装(空メソッド) 3.すべてのフォームに2.の空メソッドのオーバライドを実装 とすれば統一的に扱えるけど、そういう話ではなく? | ||||||||
|
投稿日時: 2007-10-02 10:56
そうですね、最小に改造するには継承を1階層増やして
メソッドを追加したほうが早そうですね。 その方向で進めてみます。 ありがとうございました。 | ||||||||
|
投稿日時: 2007-10-02 20:44
客先に出かけていましたので反応が遅れてしまいました。 まるくさん、フォローありがとうございます。
何も継承に頼る必要はないのではないでしょうか? こういった場合は Interface (ポリモーフィズム) で実装すると影響範囲が少ないのではと思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1