- - PR -
子フォームを配列化後、親フォームをアクティブ
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-11-22 22:34
お世話になっております。
件名の件で、 this.OwnedFormsやthis.AddOwnedForm(form名)で 親フォームから発生する子フォームを配列化し フォームを画面に表示したのですが、親フォームをアクティブにできず 悩んでいます。 例) 親フォームに検索する情報のボタンが2つあります。 それぞれのボタンをクリックすると、それぞれの 検索結果の(子)画面が2枚表示されます。 (検索結果の画面は、一枚で2つの情報を表示できます。) (子)画面1枚を表示後、もう一つの(子)画面を 表示しようと親フォームをアクティブにしようとするのですが アクティブにできません。(子)画面を最小化して 親フォームのボタンをクリックできる状態で、使い勝手が 悪く悩んでおります。 親フォームをアクティブにする方法があるでしょうか? 宜しくお願いします。 (追伸) 渋木宏明(ひどり)さん スマートクライアントとログファイルの件、返信ありがとうございました。 トピックが後ろの方にあり、今さら上げることに抵抗感じましたので、 大変失礼ですが、この場でお礼を述べさせて下さい。 | ||||||||||||
|
投稿日時: 2005-11-22 22:55
すみません、イメージできません。 子画面が表示された状態で、親画面の操作はできるんですね?「最小化」とは、「閉じる」ではないですよね?子画面の方が親画面より大きいから、子画面で親画面が隠れてしまう、っていうことですか? で、子画面を表示するのに、どのメソッドを使っているのでしょうか。 ___________________________________________________________________ □ written by Jitta on 2005/11/22 □ Microsoft MVP :Visual Developer ASP/ASP.NET Oct.2005-Sept.2006 _________________ | ||||||||||||
|
投稿日時: 2005-11-22 23:20
早速の返信ありがとうございます。 説明が雑でした。。。 ソースコードが手元にないので、記憶ですが、改めて (会社からだと閲覧は可能ですが、書き込みができないのです(><)) 親フォーム AForm.cs 子フォーム BForm.cs 親フォームに、ボタンが2つあり、それぞれA情報とB情報を 検索し、BFormに表示します。 AFormから、 BForm bFrm = new BForm() ; bFrm.Show() ; this.AddOwnedForm(bFrm) ; // フォームの配列化 で表示します。Bフォームは、A情報もB情報も表示できるレイアウトです。 (フォームの配列化は、親フォームを閉じる時に、子フォームを一括で閉じるためです。) A情報の子フォームを表示した時に、B情報も表示して比較したい時があります。 この時に、親フォームをマウスや、Alt+Tabなどで、画面を最前面(?)に出して、A情報の子フォームを後ろに回して、B情報のボタンをクリックしてB情報を表示したいのです。 マウスやAlt+Tabをやっても、A情報の子フォームは最前面のままで 親フォームが前に出てきません。 ここで、A情報の子フォームの最小化ボタンで、タスクに入れて(?) 親フォームを最前面に出している状態です。子画面を最小化しないと 親フォームが最前面に出てこない事で使い勝手が悪いなと感じてます。 これで、伝わるでしょうか?・・・・ (最小化ボタンはおいておいて、親フォームが子フォームの前に出てこない事で悩んでいます。) 宜しくお願いします。 | ||||||||||||
|
投稿日時: 2005-11-23 01:12
認識に誤りがあるように思えます。 フォームの配列化ではなく、所有するフォームを追加しています。
オーナーの使い方が誤っていないでしょうか? 管理するのであれば、別の方法で管理してください。
それは、オーナーフォームの仕様ですよね。 そうなるようにコードが組んであるのでその通りに動いています。 オーナーフォームを使うのをやめてしまえば解決します。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2005-11-23 18:14
子フォームを管理するクラスを作成し、子フォーム追加メソッド、子フォームを全て閉じるメソッドなどを実装すれば良いんじゃないでしょうか?
| ||||||||||||
|
投稿日時: 2005-11-23 19:13
ほい → http://quick-tips.hp.infoseek.co.jp/vs.net/sample/index.html
| ||||||||||||
|
投稿日時: 2005-11-23 19:31
お世話になっております。 じゃんぬねっとさん、Jitta さん、trapemiyaさん 返信ありがとうございます。 子フォームを配列として管理するように変更して、問題解決しました。 AddOwnedFormなどが使えるか使えないかで悩んでいたので、 見切りができて助かりました。 サンプルソースは参考にさせて頂きます。 多謝。 |
1