- - PR -
複数MDI子フォームから1つを選択するには
«前のページへ
1|2|3
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-09-09 22:06
> 自分のメンバ2つが同じ所指してるのかぁとおもったら、ちょっと気持ち悪かったり^^;
それなら、メンバ変数として参照しつつ Controls で参照しているのは? | ||||||||
|
投稿日時: 2005-09-09 22:49
お〜!確かにそうだ…。何言ってんだ自分。 ところで…。 ここで続けていいのか分からないのですが、今回の事でちょっと疑問が生まれました。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpgenref/html/cpconpropertyusageguidelines.asp プロパティの使用方法ガイドラインというのがあります。 ここに、「メンバが配列を返す場合。配列を返すプロパティは、混乱の原因になる可能性があります。」云々…。 とあるのですが、MdiChildren はもろに配列返してますね。 Form のコレクションとかを返してくれると思ったので、あれ〜?って思いました。 子フォームにしたいときは、MdiParent プロパティに設定しなければならない、という制限のつもりなのでしょうか。また、子フォームを入れ替えるとかできないようにとか? parentForm.MdiChildren[0] = childForm; なんてやっても、当然だめでしょう(未検証)。 何故 Controls のように parentForm.MdiChildren.Add(childForm); でないのか。こっちのほうが直感的なような気がしますが。 納得理由をご存知の方おられるでしょうか? [ メッセージ編集済み 編集者: 囚人 編集日時 2005-09-09 23:12 ] | ||||||||
|
投稿日時: 2005-10-10 19:20
こんなの作ってみました。
もう、解決してたらごめんなさい。 '***************************************************************************** ' TODO: isExistSubForm : サブフォームが開いているか '*---------------------------------------------------------------------------- '* 補足説明 :サブフォームが開いていればアクティブにする '*---------------------------------------------------------------------------- '* 戻り値 :サブフォームが開いていれば True '*---------------------------------------------------------------------------- '* Revision : 作成 2005/08/25 CG H.Nasu '* : 修正 '***************************************************************************** Private Function isExistChildForm(ByVal TargetForm As Object) As Boolean '既にフォームが有れば For Each hForm As Form In Me.MdiChildren If hForm.Equals(TargetForm) Then 'フォームをアクティブにする hForm.Activate() Return True End If Next hForm Return False End Function | ||||||||
|
投稿日時: 2005-10-11 08:50
こんにちは、じゃんぬ です。
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-10-11 11:43
それと元の参照を保持していないと渡せませんね。
.NET的にMDIChildrenの参照には含まれないが、インスタンスは存在するという状態はあるんですかね? あ、MDIParentをNothingにすればいいのか。。。 いずれにしても独自の管理がベストでしょうね。 #個人的には探しまくってますが。(汗 | ||||||||
|
投稿日時: 2005-10-11 11:51
あら? これって親フォームだと思っていました。 小フォームの探し当てるターゲットだったとは... それもそうですよね。 しかし「名前」指定とあまり変わりませんね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
«前のページへ
1|2|3
