[Tips][TreeView] 選択項目の幅全体が強調表示されるようにする

[ad code=2 align=left]
TreeViewコントロールでは、選択された項目の幅全体を強調表示することができます。

強調表示する場合にはノードを結合する線を非表示にし(ShowLinesプロパティにFalseを設定)、FullRowSelectプロパティにTrueを設定します。

下記は、選択項目の幅全体が強調表示されるようにする例です。

VBの例

' フォームロード時の処理
Private Sub Form13_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.ShowLines = False     'ノード間を結ぶ線を非表示にする
    TreeView1.FullRowSelect = True  '項目選択に幅全体を強調表示する

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

C#の例

// フォームロード時の処理
private void Form13_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.ShowLines = false;        //ノード間を結ぶ線を非表示にする
    treeView1.FullRowSelect = true;     //項目選択に幅全体を強調表示する

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

コメントを残す

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