[Tips][TreeView] インデント幅を設定する

TreeViewコントロールではインデント幅を設定することができます。

インデントはIndentプロパティに設定し既定値は19です。

下記はインデントを設定する例です。

選択されたラジオボタンによってインデント幅を変更します。

VBの例

' フォームロード時の処理
Private Sub Form12_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    '親ノード
    Dim rootNode As New TreeNode("ルート")

    '子ノード
    Dim childNode1 As New TreeNode("子ノード1")
    Dim childNode2 As New TreeNode("子ノード2")

    '孫ノード
    Dim grandChildNode1 As New TreeNode("孫ノード1")
    Dim grandChildNode2 As New TreeNode("孫ノード2")
    Dim grandChildNode3 As New TreeNode("孫ノード3")

    '親ノードをTreeViewに追加
    TreeView1.Nodes.Add(rootNode)

    '子ノードを親ノードに追加
    rootNode.Nodes.Add(childNode1)
    rootNode.Nodes.Add(childNode2)

    '孫ノードを子ノードに追加
    childNode2.Nodes.Add(grandChildNode3)
    childNode1.Nodes.Add(grandChildNode1)
    childNode1.Nodes.Add(grandChildNode2)

    '全ノードを展開する
    TreeView1.ExpandAll()
End Sub

' ラジオボタンのチェック変更時の処理
Private Sub rdoIndent_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles rdoIndent38.CheckedChanged, rdoIndent19.CheckedChanged
    If rdoIndent19.Checked = True Then
        '★★★インデント幅を19にする★★★
        TreeView1.Indent = 19
    Else
        '★★★インデント幅を38にする★★★
        TreeView1.Indent = 38
    End If
End Sub

C#の例

// フォームロード時の処理
private void Form12_Load(object sender, EventArgs e)
{
    //親ノード
    TreeNode rootNode = new TreeNode("ルート");
    //子ノード
    TreeNode childNode1 = new TreeNode("子ノード1");
    TreeNode childNode2 = new TreeNode("子ノード2");
    //孫ノード
    TreeNode grandChildNode1 = new TreeNode("孫ノード1");
    TreeNode grandChildNode2 = new TreeNode("孫ノード2");
    TreeNode grandChildNode3 = new TreeNode("孫ノード3");

    // 親ノードをTreeViewに追加
    treeView1.Nodes.Add(rootNode);

    // 子ノードを親ノードに追加
    rootNode.Nodes.Add(childNode1);
    rootNode.Nodes.Add(childNode2);

    // 孫ノードを子ノードに追加
    childNode2.Nodes.Add(grandChildNode3);
    childNode1.Nodes.Add(grandChildNode1);
    childNode1.Nodes.Add(grandChildNode2);

      // 全ノードを展開する
    treeView1.ExpandAll();
}

// ラジオボタンのチェック変更時の処理
private void rdoIndent_CheckedChanged(object sender, EventArgs e)
{
    if (rdoIndent19.Checked == true)
    {
        //★★★インデント幅を19にする★★★
        treeView1.Indent = 19;
    }
    else
    {
        //★★★インデント幅を38にする★★★
        treeView1.Indent = 38;
    }
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です