【やさしいC#】lesson7.1 パネル

C#

パネルの仕組みを知る

  ウィンドウには、さまざまなコントロールを配置することができます。このとき、コントロールをうまく配置することはたいせつです。コントロールを配置するパネル(panel)と呼ばれるコントロールが存在します。
  まず、「ラベル」と「ボタン」という2つのコントロールをフローレイアウトパネル(FlowLayoutPanel)と呼ばれるパネルに配置してみることにしましょう。

using System;
using System.Windows.Forms;
using System.Drawing;

namespace lesson7
{
    class sample1 : Form
    {
        private Button[] bt = new Button[6];
        private FlowLayoutPanel flp;
        static void Main(string[] args)
        {
            Application.Run(new sample1());
        }
        public sample1()
        {
            this.Text = "lesson7";
            this.Width = 600; this.Height = 100;

            flp = new FlowLayoutPanel();  //フローレイアウトパネルを作成します
            flp.Dock = DockStyle.Fill;

            for (int i = 0; i < bt.Length; i++)  //ボタンを6つ作成します
            {
                bt[i] = new Button();  //パネルにボタンを追加します
                bt[i].Text = Convert.ToString(i);
                bt[i].Parent = flp;
            }

            flp.Parent = this;
        }
    }
}

実行画面

実行画面

  フローレイアウトパネルコンポーネントを直線的に並べるパネルです。このパネルを親としてコントロールを設定すると、コントロールは左から右に並べられます。
  なお、ここではフリーレイアウトパネルのDockプロパティをDockStyle.Fillという値を指定しています。Dockプロパティはそれがおかれるコントロールにどのようにドッキングされるか示したものです。DockStyle.Fillは大きさいっぱいに張り付く値となります。つまりここでは、フォームいっぱいにフローレイアウトパネルが張り付いていることにになります。

種類説明
Fill大きさいっぱいにドッキングされる
Top上にドッキングされる
Bottom下にドッキングされる
Left左にドッキングされる
Right右にドッキングされる
コントロールのドッキング(System.Windows.Forms.DockStyle列挙体)
DockStyleコントロールのドッキング方法を指定することができます

フローレイアウトパネルは、コントロールを横に並べ

格子状にレイアウトする

  続いて、テーブルレイアウトパネル()を学ぶことにしましょう。このレイアウトパネルを使うと、縦横のコントロールの数を決めて、格子状にコントロールを並べることができます。

using System;
using System.Windows.Forms;
using System.Drawing;

namespace lesson7
{
    class sample2 : Form
    {
        private Button[] bt = new Button[6];
        private TableLayoutPanel tlp;
        static void Main(string[] args)
        {
            Application.Run(new sample2());
        }
        public sample2()
        {
            this.Text = "lesson7";
            this.Width = 300; this.Height = 200;

            tlp = new TableLayoutPanel();  //テーブルレイアウトパネルを作成します
            tlp.Dock = DockStyle.Fill;
            tlp.ColumnCount = 3;  //列を3とします
            tlp.RowCount = 2;  //行を2とします

            for (int i = 0; i < bt.Length; i++)  //ボタンを6つ作成します
            {
                bt[i] = new Button();  //パネルにボタンを追加します
                bt[i].Text = Convert.ToString(i);
                bt[i].Parent = tlp;
            }

            tlp.Parent = this;
        }
    }
}
実行画面
クラス説明
System.Windows.Forms.TableLayoutPanelクラス
TablePanel()コンストラクタテーブルレイアウトパネルを作成します
ColumnCountプロパティ列数を指定・取得する
RowCountプロパティ行数を指定・取得する

テーブルレイアウトパネルで、格子状にレイアウトできる。

コメント

タイトルとURLをコピーしました