tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^6: フォームの重ね順番制御について?
投稿日: 2016/10/28(Fri) 11:03
投稿者魔界の仮面弁士
> OWNERとは 隠れフォーム と色々勉強になりました

「Owner とは不可視フォームのこと」という認識だと間違いです。
あくまでも「不可視フォームを Owner に設定した」というだけ。


Owner はざっくり言えば、フォームの親子関係を示すものです。
たとえば、新規プロジェクトでこんなコードを書いてみます。

---
'.NET Framework 2.0 以降ではこう書ける
Dim f2 As New Form2()
Dim f3 As New Form3()
f2.Show(Me)
f3.Show()
---
'.NET Framework 1.x や .NET Compact Framework ではこう書く
Dim f2 As New Form2()
Dim f3 As New Form3()
f2.Owner = Me
f2.Show()
f3.Show()
---

後者(2002/2003 向け)では Owner プロパティが使われています。
前者(2005 以降向け)では、Show メソッドの owner 引数を使っています。
(Form.ShowDialog メソッドや MessageBox.Show にも owner 引数があります)

そしてこのコードでは、このような親子関係になります。

 Form1  … 親なし
 └Form2 … Form1が親
 Form3  … 親なし


この状態で、別アプリケーションとフォーカスを切り替えてみて下さい。
親子関係がどのように働くのか実感できるかと思います。


余裕があれば、Owner プロパティに加えて OwnedForms プロパティについても調べてみてください。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。