[SplitterContainer][Tips] 分割境界線の幅を設定する

SplitterContainerコントロールの分割境界線の幅を設定するにはSplitterWidthプロパティを使用します。

下記は分割境界線の幅を設定する例です。

左側の画像はデフォルトの幅、右側の画像は幅を10に設定したものです。

VBの例

' フォームロード時の処理
Private Sub Form5_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    '分割境界線の幅を10ピクセルに設定する
    SplitContainer1.SplitterWidth = 10
End Sub

C#の例

// フォームロード時の処理
private void Form5_Load(object sender, EventArgs e)
{
    // 分割境界線の幅を10ピクセルに設定する
    splitContainer1.SplitterWidth = 10;
}

[SplitterContainer][Tips] 分割境界線の位置を取得する


SplitterContainerコントロールに表示されている分割線は、上端または左端からの位置をSplitterDistanceプロパティで取得することができます。

下記は、分割境界線の位置を取得する例です。

分割線の移動が完了したとき(SplitterMovedイベント発生時)に位置を取得してステータスバーに表示します。

VBの例

' 分割線移動完了後の処理
Private Sub SplitContainer1_SplitterMoved(sender As System.Object, e As System.Windows.Forms.SplitterEventArgs) Handles SplitContainer1.SplitterMoved
    '★★★分割線の位置をステータスバーに表示する★★★
    ToolStripStatusLabel1.Text = "左端からの分割線の位置:" & SplitContainer1.SplitterDistance.ToString()
End Sub

C#の例

// 分割線移動完了後の処理
private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e)
{
    // ★★★分割線の位置をステータスバーに表示する★★★
    toolStripStatusLabel1.Text = "左端からの分割線の位置:" + splitContainer1.SplitterDistance.ToString();
}

[SplitterContainer][Tips] 分割境界線を固定する


通常、SplitterContainerの境界線はマウスでドラッグして移動することができます。

境界線を固定したい場合はIsSplitterFixedプロパティにTrueを設定します。

下記は、分割境界線を固定する例です。

チェックボックスの内容に合わせて境界線を固定するかどうかを決定します。

VBの例

' [境界線を固定する]チェック変更時の処理
Private Sub chkSplitterFixed_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkSplitterFixed.CheckedChanged
    If chkSplitterFixed.Checked = True Then
        '★★★分割線を固定する★★★
        SplitContainer1.IsSplitterFixed = True
    Else
        '★★★分割線を固定しない★★★
        SplitContainer1.IsSplitterFixed = False
    End If
End Sub

C#の例

// [境界線を固定する]チェック変更時の処理
private void chkSplitterFixed_CheckedChanged(object sender, EventArgs e)
{
    if (chkSplitterFixed.Checked == true)
    {
        // ★★★分割線を固定する★★★
        splitContainer1.IsSplitterFixed = true;
    }
    else
    {
        // ★★★分割線を固定しない★★★
        splitContainer1.IsSplitterFixed = false;
    }
}

[SplitterContainer][Tips] 分割境界線のスタイルを設定する

SplitterContainerコントロールの境界線はBorderStyleプロパティで変更することができます。

BorderStyle列挙体
メンバ名 説明
Fixed3D 3D 境界線
FixedSingle 一重線の境界線
None 境界線なし

下記は、境界線のスタイルを設定する例です。

ラジオボタンの内容に合わせて境界線のスタイルを変更します。

VBの例

' 「境界線」ラジオボタンのチェック変更時の処理
Private Sub rdoBorderStyle_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdoNone.CheckedChanged, rdoFixedSingle.CheckedChanged, rdoFixed3D.CheckedChanged
    If rdoFixed3D.Checked = True Then
        '★★★Fixed3D★★★
        SplitContainer1.BorderStyle = BorderStyle.Fixed3D
    ElseIf rdoFixedSingle.Checked = True Then
        '★★★FixedSingle★★★
        SplitContainer1.BorderStyle = BorderStyle.FixedSingle
    Else
        '★★★None★★★
        SplitContainer1.BorderStyle = BorderStyle.None
    End If
End Sub

C#の例

// 「境界線」ラジオボタンのチェック変更時の処理
private void rdoBorderStyle_CheckedChanged(object sender, EventArgs e)
{
    if ( rdoFixed3D.Checked == true )
    {
        // ★★★Fixed3D★★★
        splitContainer1.BorderStyle = BorderStyle.Fixed3D;
    }
    else if ( rdoFixedSingle.Checked == true )
    {
        // ★★★FixedSingle★★★
        splitContainer1.BorderStyle = BorderStyle.FixedSingle;
    }
    else
    {
        // ★★★None★★★
        splitContainer1.BorderStyle = BorderStyle.None;
    }
}

[SplitterContainer][Tips] 分割方向を設定する

SplitterContainerコントロールは、Orientationプロパティの値を変更することで分割方向を設定することができます。

Orientationプロパティには、Orientation列挙体の値を設定します。

Orientation列挙体
メンバ名 説明
Vertival 垂直方向
Horizontal 水平方向

下記は、分割方向を設定する例です。

選択されたラジオボタンの内容に合わせて分割方向を設定します。

VBの例

' 「分割方向」ラジオボタンのチェック変更時の処理
Private Sub rdoOrientation_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdoVertical.CheckedChanged, rdoHorizontal.CheckedChanged
    If rdoVertical.Checked = True Then
        '★★★分割方向を垂直に設定★★★
        SplitContainer1.Orientation = Orientation.Vertical
    Else
        '★★★分割方向を水平に設定★★★
        SplitContainer1.Orientation = Orientation.Horizontal
    End If
End Sub

C#の例

// 「分割方向」ラジオボタンのチェック変更時の処理
private void rdoOrientation_CheckedChanged(object sender, EventArgs e)
{
    if (rdoVertical.Checked == true)
    {
        // ★★★分割方向を垂直に設定★★★
        splitContainer1.Orientation = Orientation.Vertical;
    }
    else
    {
        // ★★★分割方向を水平に設定★★★
        splitContainer1.Orientation = Orientation.Horizontal;
    }
}