PowerTools PlusPak for Windows Forms 8.0J
チェックボックスのレイアウト

GcCheckedGroupBoxコントロールは、高度なレイアウト機能を備えています。チェックボックスの並び方やその方向、行と列の数および間隔、絶対位置などを指定することで任意にカスタマイズすることができます。レイアウトを設定するには、LayoutSettings プロパティを使用します。その詳細について以下に説明します。

テーブルレイアウト
LayoutSettingsLayoutMode プロパティが Table に設定された時、チェックボックスを水平あるいは垂直の方向でテーブル状に配置します。Orientation プロパティが Horizontal の時は、水平方向にチェックボックスを並べ、ColumnCount で指定した列数で次の行に折り返して表示します。Vertical の時は、垂直方向にチェックボックスを並べ、RowCount で指定した行数で次の列に移動して表示します。

列の間隔の調整方法(間隔なし、均等割り付け、スペース付きの均等割り付け、サイズ揃え)は、HorizontalAdjustment プロパティによって設定できます。HorizontalAdjustment プロパティが None の時、HorizontalSpace プロパティで列の間隔を設定できます。行の間隔の調整方法を指定するには、VerticalAdjustment プロパティを使用します。同様に VerticalAdjustment プロパティが None の時は、VerticalSpace プロパティで行の間隔を設定できます。

' チェックボックスの配置方法をテーブルレイアウトにします。
GcCheckedGroupBox1.LayoutSettings.LayoutMode = GrapeCity.Win.Containers.LayoutMode.Table
' チェックボックスを3列に配置します。
GcCheckedGroupBox1.LayoutSettings.ColumnCount = 3
' 列の配置をスペース付きの均等割り付けにします。
GcCheckedGroupBox1.LayoutSettings.HorizontalAdjustment = GrapeCity.Win.Containers.LineAdjustment.DistributedWithSpace
' チェックボックスを水平方向に配置します。
GcCheckedGroupBox1.LayoutSettings.Orientation = Orientation.Horizontal
' 行の間隔を12ピクセルに設定します。
GcCheckedGroupBox1.LayoutSettings.VerticalSpace = 12
// チェックボックスの配置方法をテーブルレイアウトにします。
gcCheckedGroupBox1.LayoutSettings.LayoutMode = GrapeCity.Win.Containers.LayoutMode.Table;
// チェックボックスを3列に配置します。
gcCheckedGroupBox1.LayoutSettings.ColumnCount = 3;
// 列の配置をスペース付きの均等割り付けにします。
gcCheckedGroupBox1.LayoutSettings.HorizontalAdjustment = GrapeCity.Win.Containers.LineAdjustment.DistributedWithSpace;
// チェックボックスを水平方向に配置します。
gcCheckedGroupBox1.LayoutSettings.Orientation = Orientation.Horizontal;
// 行の間隔を12ピクセルに設定します。
gcCheckedGroupBox1.LayoutSettings.VerticalSpace = 12;


フローレイアウト
LayoutSettingsLayoutMode プロパティが Flow に設定された時、チェックボックスを左から右に自動的に配置します。HorizontalSpaceVerticalSpace プロパティでチェックボックス間の水平と垂直の間隔を設定できます。ただし、AutoSize プロパティが True の場合、HorizontalSpaceVerticalSpace プロパティが無効になります。



絶対位置レイアウト
LayoutSettingsLayoutMode プロパティが Absolute に設定された時、チェックボックスをそれぞれの Location プロパティに従って配置します。この場合、HorizontalSpaceVerticalSpace プロパティの設定が無効です。

Imports GrapeCity.Win.Containers

' チェックボックスを絶対位置に沿って配置します
GcCheckedGroupBox1.LayoutSettings.LayoutMode = LayoutMode.Absolute

' チェックボックスを追加します
For i As Integer = 1 To 12
    Dim checkboxitem As New CheckBoxItem
    checkboxitem.Text = i.ToString() + "月"
    checkboxitem.Location = New Point(24 + (i * 10), i * 20 - 10)
    GcCheckedGroupBox1.Items.Add(checkboxitem)
Next
using GrapeCity.Win.Containers;

// チェックボックスを絶対位置に沿って配置します
gcCheckedGroupBox1.LayoutSettings.LayoutMode = LayoutMode.Absolute;

for (int i = 1; i < 13; i++)
{
    CheckBoxItem checkboxitem = new CheckBoxItem();
    checkboxitem.Text = i.ToString() + "月";
    checkboxitem.Location = new Point(24 + (i * 10), i * 20 - 10);
    gcCheckedGroupBox1.Items.Add(checkboxitem);
}

サイズの自動調整
AutoSize プロパティを True に設定することでコントロールを自動的に最適なサイズに調整することができます。サイズの自動調整は、コントロールの Padding プロパティ、チェックボックスの Size および、LayoutSettingsVerticalSpaceHorizontalSpace プロパティの値に基づいて計算されます。AutoSizeMode プロパティが GrowAndShrink に指定された場合、コントロールのサイズは上記の設定に合わせて拡大または縮小します。GrowOnly に指定された場合は、制限なしに拡大できますが、Size プロパティの設定値よりは縮小されません。



参照