C#同じフォームにコントロールをDockStyle.Fillで複数配置するとどうなるか

C# コンピュータ
C#

コントロールのプロパティのDockにDockStyle.Fillを設定すると描画領域全体にコントロールを広げて配置されます。親フォームのサイズ変更に追従してコントロールサイズを自動的に変更してくれて便利です。

もし、DockStyle.Fillを設定したコントロールを同じフォームに複数配置するとどうなるでしょうか?

using System;
using System.Windows.Forms;

// ボタンを二つ配置

class Form1 : Form
{
    Form1()
    {
        this.Controls.AddRange(
            new Control[]
            {
                new Button
                {
                    Dock = DockStyle.Fill,
                    Text = "Button1",
                },
                new Button
                {
                    Dock = DockStyle.Fill,
                    Text = "Button2",
                }
            }
        );
    }
    [STAThread]
    static void Main()
    {
        Application.Run(new Form1());
    }
}

Button1がフォームいっぱいに表示されているいますので、Button2はButton1に隠れていると思われます。Z軸の概念があるとしても、Button2をユーザーがマウスで触ることが出来ないので、複数のコントロールをDockStyle.Fillに設定して配置しても使い道がなさそうです。

コメント