次の方法で共有


Form.IsMdiContainer プロパティ

フォームがマルチ ドキュメント インターフェイス (MDI: Multiple Document Interface) 子フォームのコンテナかどうかを示す値を取得または設定します。

Public Property IsMdiContainer As Boolean
[C#]
public bool IsMdiContainer {get; set;}
[C++]
public: __property bool get_IsMdiContainer();public: __property void set_IsMdiContainer(bool);
[JScript]
public function get IsMdiContainer() : Boolean;public function set IsMdiContainer(Boolean);

プロパティ値

フォームが MDI 子フォームのコンテナである場合は true 。それ以外の場合は false 。既定値は false です。

解説

このプロパティは、フォームの表示と動作を変更し、そのフォームを MDI 親フォームにします。このプロパティを true に設定すると、フォームには、くぼんだクライアント領域が浮き出した境界線で囲まれて表示されます。親フォームへ割り当てられているすべての MDI 子フォームは、親のクライアント領域内に表示されます。

MDI 親フォームが閉じると、MDI 親フォームの Closing イベントが発生する前に、すべての MDI 子フォームの Closing イベントが発生します。さらに、MDI 親フォームの Closed イベントが発生する前に、すべての MDI 子フォームの Closed イベントが発生します。

使用例

[Visual Basic, C#] IsMdiContainer プロパティを使用して、MDI フォームの BackColor プロパティを変更するコード例を次に示します。この例を実行するには、次のコードを新しいフォームに貼り付けます。

 

    ' Create a new form.
    Dim mdiChildForm As New Form

    Private Sub Form1_Load(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load

        ' Set the IsMdiContainer property to true.
        IsMdiContainer = True

        ' Set the child form's MdiParent property to 
        ' the current form.
        mdiChildForm.MdiParent = Me

        'Call the method that changes the background color.
        SetBackGroundColorOfMDIForm()
    End Sub

    Private Sub SetBackGroundColorOfMDIForm()
        Dim ctl As Control

        ' Loop through controls,  
        ' looking for controls of MdiClient type. 
        For Each ctl In Me.Controls
            If TypeOf (ctl) Is MdiClient Then

                ' If the control is the correct type,
                ' change the color.
                ctl.BackColor = System.Drawing.Color.PaleGreen
            End If
        Next

    End Sub

[C#] 

    // Create a new form.
    Form mdiChildForm = new Form();

    private void Form1_Load(object sender, System.EventArgs e)
    {

        // Set the IsMdiContainer property to true.
        IsMdiContainer = true;

        // Set the child form's MdiParent property to 
        // the current form.
        mdiChildForm.MdiParent = this;

        // Call the method that changes the background color.
        SetBackGroundColorOfMDIForm();
    }

    private void SetBackGroundColorOfMDIForm()
    {
        foreach ( Control ctl in this.Controls )
        {
            if ((ctl) is MdiClient)

                // If the control is the correct type,
                // change the color.
            {
                ctl.BackColor = System.Drawing.Color.PaleGreen;
            }
        }

    }

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および 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 名前空間 | IsMdiChild | MdiParent | MdiChildren