1

2つのTreeViewコントロールがあり、ユーザーはTreeView1でノードの1つを選択してから、TreeView2で1つのノードを選択します。
問題は、彼が他のTreeViewのノードを選択すると、前のノードがフォーカスを離れて、ユーザーがどのTreeViewが選択されたかを知らないことです。

2つのTreeNodeにフォーカスを維持したり、ForeColorを変更したり、選択したノードを太字にして、選択したノードが引き続き表示されるようにする方法はありますか。

4

2 に答える 2

3

TreeViewのHideSelectionプロパティをfalseに設定します。

ツリービューがフォーカスを失った場合でも、選択したツリーノードが強調表示されたままになるかどうかを示す値を取得または設定します。

于 2012-09-03T09:23:39.743 に答える
1

あなたが持っている両方のツリービューの選択されたノードを追跡するために2つのフィールドを持つことができます(AfterSelectイベントの使用)。何かのようなもの:

    private TreeNode selectedNodeA;
    private TreeNode selectedNodeB;

    private void treeViewA_AfterSelect(object sender, TreeViewEventArgs e)
    {
        //Reset color if was perviously highlighted
        if (selectedNodeA != null)
            selectedNodeA.BackColor = Color.White;

        selectedNodeA = e.Node;

        //Here you can indicate the node is selected, change background color or set font to
        // Bold or any other tricks!
        selectedNodeA.BackColor = Color.LightGray;

         //Rest of code
     }

上記のコードは、winformsが使用するデフォルトの色とは異なる色が必要な場合に使用します(HideSelectionStuartが言ったようにfalseに設定することによって)。

于 2012-09-03T13:01:11.223 に答える