Form.ActiveMdiChild プロパティ

定義

現在アクティブなマルチ ドキュメント インターフェイス (MDI) 子ウィンドウを取得します。

public:
 property System::Windows::Forms::Form ^ ActiveMdiChild { System::Windows::Forms::Form ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.Form ActiveMdiChild { get; }
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.Form? ActiveMdiChild { get; }
[<System.ComponentModel.Browsable(false)>]
member this.ActiveMdiChild : System.Windows.Forms.Form
Public ReadOnly Property ActiveMdiChild As Form

プロパティ値

Form

現在アクティブな MDI 子ウィンドウを表す Form を返します。現在子ウィンドウが存在しない場合は null を返します。

属性

次の例では、アクティブな MDI 子フォームへの参照を取得し、フォーム上のすべての TextBox コントロールをループしてプロパティを Text リセットします。 この例では、MDI 親フォームが作成され、このメソッドの呼び出しが MDI 親フォームから行われている必要があります。

public:
   void ClearAllChildFormText()
   {
      
      // Obtain a reference to the currently active MDI child form.
      Form^ tempChild = this->ActiveMdiChild;
      
      // Loop through all controls on the child form.
      for ( int i = 0; i < tempChild->Controls->Count; i++ )
      {
         
         // Determine if the current control on the child form is a TextBox.
         if ( dynamic_cast<TextBox^>(tempChild->Controls[ i ]) )
         {
            
            // Clear the contents of the control since it is a TextBox.
            tempChild->Controls[ i ]->Text = "";
         }

      }
   }
public void ClearAllChildFormText()
 {
    // Obtain a reference to the currently active MDI child form.
    Form tempChild = this.ActiveMdiChild;
    
    // Loop through all controls on the child form.
    for (int i = 0; i < tempChild.Controls.Count; i++)
    {
       // Determine if the current control on the child form is a TextBox.
       if (tempChild.Controls[i] is TextBox)
       {
          // Clear the contents of the control since it is a TextBox.
          tempChild.Controls[i].Text = "";
       }
    }
 }
Public Sub ClearAllChildFormText()
    ' Obtain a reference to the currently active MDI child form.
    Dim tempChild As Form = Me.ActiveMdiChild
    
    ' Loop through all controls on the child form.
    Dim i As Integer
    For i = 0 To tempChild.Controls.Count - 1
        ' Determine if the current control on the child form is a TextBox.
        If TypeOf tempChild.Controls(i) Is TextBox Then
            ' Clear the contents of the control since it is a TextBox.
            tempChild.Controls(i).Text = ""
        End If
    Next i
End Sub

注釈

このメソッドを使用して、MDI アプリケーションで開いている MDI 子フォームがあるかどうかを判断できます。 また、このメソッドを使用して、MDI 親フォームまたはアプリケーションに表示される別のフォームから、MDI 子ウィンドウに対して操作を実行することもできます。

現在アクティブなフォームが MDI 子フォームでない場合は、プロパティを ActiveForm 使用して参照を取得できます。

適用対象

こちらもご覧ください