次の方法で共有


Form.ActiveMdiChild プロパティ

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

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

プロパティ値

現在アクティブな MDI 子ウィンドウを表す Form を返します。子ウィンドウが現在存在しない場合は null 参照 (Visual Basic では Nothing) を返します。

解説

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

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

使用例

[Visual Basic, C#, C++] アクティブな MDI 子フォームへの参照を取得して、フォーム上のすべての TextBox コントロールをループ処理し、それぞれの Text プロパティをリセットする例を次に示します。この例では、MDI 親フォームが作成済みであること、およびこのメソッドがその MDI 親フォームから呼び出されていることを前提にしています。

 
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 'ClearAllChildFormText

[C#] 
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 = "";
       }
    }
 }
    

[C++] 
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->Item[i]))
       {
          // Clear the contents of the control since it is a TextBox.
          tempChild->Controls->Item[i]->Text = S"";
       }
    }
 }
    

[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 名前空間 | ActiveForm