次の方法で共有


Form.OwnedForms プロパティ

対象となるフォームによって所有されている全フォームを表す、 Form オブジェクトの配列を取得します。

Public ReadOnly Property OwnedForms As Form ()
[C#]
public Form[] OwnedForms {get;}
[C++]
public: __property Form* get_OwnedForms();
[JScript]
public function get OwnedForms() : Form[];

プロパティ値

対象となるフォームによって所有されているフォームを表す Form 配列。

解説

このプロパティは、対象となるフォームによって所有されている全フォームを格納する配列を返します。フォームを別のフォームに所有させるには、 AddOwnedForm メソッドを呼び出します。所有側のフォームに割り当てられたフォームは、 RemoveOwnedForm メソッドが呼び出されるまで所有されたままになります。 Owner プロパティに所有側フォームへの参照を設定することでも、フォームを別のフォームによって所有させることができます。

フォームが別のフォームによって所有されている場合は、所有している側のフォームと連動して最小化したり閉じたりします。たとえば、 Form2 がフォーム Form1 に所有されている場合、 Form1 が閉じられるか最小化されると、 Form2 も閉じられるか最小化されます。また、所有される側のフォームを所有する側のフォームの背面に表示することはできません。所有されているフォームは、検索ウィンドウや置換ウィンドウなど、所有側のフォームが選択されているときにその背面に表示できないようにするウィンドウに使用できます。

メモ   フォームがマルチ ドキュメント インターフェイス (MDI) 親フォームである場合、このプロパティは、現在開かれている MDI 子フォームを除き、表示されているすべてのフォームを返します。MDI 親フォームで開かれている MDI 子フォームを取得するには、 MdiChildren プロパティを使用します。

使用例

[Visual Basic, C#, C++] OwnedForms プロパティを使用して、所有側のフォームが所有しているすべてのフォームを変更する方法を次の例に示します。1 番目のメソッドは、所有されているフォームに関連づけられた、所有されているフォームの配列にフォームを追加します。2 番目のメソッドは、所有されているフォームすべてをループし、キャプションを変更します。この例で使用されているメソッドは、両方とも、フォームのイベントまたは他のメソッドによって呼び出されていることを前提にしています。

 
Private Sub AddMyOwnedForm()
   ' Create form to be owned.
   Dim ownedForm As New Form()
   ' Set the text of the owned form.
   ownedForm.Text = "Owned Form " + Me.OwnedForms.Length.ToString()
   ' Add the form to the array of owned forms.
   Me.AddOwnedForm(ownedForm)
   ' Show the owned form.
   ownedForm.Show()
End Sub


Private Sub ChangeOwnedFormText()
   Dim x As Integer
   ' Loop through all owned forms and change their text.
   For x = 0 To (Me.OwnedForms.Length) - 1
      Me.OwnedForms(x).Text = "My Owned Form " + x.ToString()
   Next x
End Sub

[C#] 
private void AddMyOwnedForm()
{
   // Create form to be owned.
   Form ownedForm = new Form();
   // Set the text of the owned form.
   ownedForm.Text = "Owned Form " + this.OwnedForms.Length;
   // Add the form to the array of owned forms.
   this.AddOwnedForm(ownedForm);
   // Show the owned form.
   ownedForm.Show();
}

private void ChangeOwnedFormText()
{
   // Loop through all owned forms and change their text.
   for (int x = 0; x < this.OwnedForms.Length; x++)
   {
      this.OwnedForms[x].Text = "My Owned Form " + x.ToString();
   }
}

[C++] 
private:
   void AddMyOwnedForm()
   {
      // Create form to be owned.
      Form* ownedForm = new Form();
      // Set the text of the owned form.
      ownedForm->Text = String::Format( S"Owned Form {0}", __box(this->OwnedForms->Length));
      // Add the form to the array of owned forms.
      this->AddOwnedForm(ownedForm);
      // Show the owned form.
      ownedForm->Show();
   }

private:
   void ChangeOwnedFormText()
   {
      // Loop through all owned forms and change their text.
      for (int x = 0; x < this->OwnedForms->Length; x++)
      {
         this->OwnedForms[x]->Text = String::Format( S"My Owned Form {0}", __box(x));
      }
   }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

Form クラス | Form メンバ | System.Windows.Forms 名前空間 | AddOwnedForm | RemoveOwnedForm | Owner