- - PR -
複数MDI子フォームから1つを選択するには
1|2|3
次のページへ»
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-09-09 16:28
MDI子フォームの勉強を始めたのですが
わからないので教えてください。 MDI子フォームを複数開いた状態から あるフォームをアクティブにしたいと思っています。 具体的には Dim frmChild As New Form1() frmChild.MdiParent = Me frmChild.Show() Dim frmChild As New Form2() frmChild.MdiParent = Me frmChild.Show() Dim frmChild As New Form3() frmChild.MdiParent = Me frmChild.Show() と3つのMDI子フォームを開いた後で Form1のMDI子フォームをアクティブにしたいと思っています。 初歩的かもしれませんがよろしくお願いします。 | ||||||||
|
投稿日時: 2005-09-09 16:34
こんにちは、じゃんぬ です。
どこか別に参照を取っておくと解決するでしょう。 冗長ですが、MDI 子フォームをすべて取得 して、 列挙したフォームから識別することも可能でしょう。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-09-09 16:40
お世話になります。
For Each f As Form In Me.MdiChildren If f.GetType Is GetType(Form1) Then f.Activate() Exit For End If Next でいけませんか? # これはじゃんぬさんの仰る、冗長な方法の方に当たると思います。 | ||||||||
|
投稿日時: 2005-09-09 16:52
それと、型が同じのフォームが複数開いてるのであれば使えません。 片方が GetType メソッドだと違和感があるがや。 (一方がメソッドで一方がキーワードだから、気持ちが悪いというか..) VB だと素直に TypeOf 使いません?
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-09-09 17:02
Name プロパティってのはどうですか。 | ||||||||
|
投稿日時: 2005-09-09 17:14
Nameプロパティでも同じじゃないですか? hForm.Nameだと、"Form1"が取れるので…。 | ||||||||
|
投稿日時: 2005-09-09 17:19
例えば、子ウィンドウが全部 DocumentForm 型だったりしたらどうですか? Word みたいなイメージだと動的に子ウィンドウが作られるので、そんな感じでになると思います。 Name プロパティにドキュメントの名前を入れるなりしていたら、メニューから選択できるとかできますね。 #編集 今の Word はちがいますね・・・。「Excel みたいな」^^; [ メッセージ編集済み 編集者: 囚人 編集日時 2005-09-09 17:21 ] | ||||||||
|
投稿日時: 2005-09-09 17:20
一応、実行時に決定することもできます。 が、Name プロパティは、そういうことに使用する「識別子」ではないので、 CODING HORROR になるような気がします。 第三者が見て、すぐにわからないんじゃないかな? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
1|2|3
次のページへ»
