TreeView Selected节点

时间:2012-07-22 18:33:33

标签: c# winforms treeview

是否有机会删除所选节点周围的虚线?

2 个答案:

答案 0 :(得分:2)

您不应该删除它,这表示具有焦点的节点,对于使用键盘选择节点的用户来说是必需的。

如果你想将这个可用性方面抛到窗外,那么你可以,TreeView支持自定义绘图。将其DrawMode属性设置为OwnerDrawText,并为其DrawNode事件实现事件处理程序。像:

private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e) {
   Color back = e.Node.BackColor;
   Color fore = e.Node.ForeColor;
   if ((e.State & TreeNodeStates.Selected) == TreeNodeStates.Selected) {
       back = Color.FromKnownColor(KnownColor.Highlight);
       fore = Color.FromKnownColor(KnownColor.HighlightText);
   }
   using (var br = new SolidBrush(back))
   e.Graphics.FillRectangle(br, e.Bounds);
   TextRenderer.DrawText(e.Graphics, e.Node.Text, e.Node.TreeView.Font, e.Bounds, fore);
}

答案 1 :(得分:0)

将CSS设置为

outline: none;

将删除虚线。

编辑:

将css类应用于此类

<SelectedNodeStyle CssClass="selectNodeCSS" />

<asp:TreeView ... SelectedNodeStyle-CssClass="selectNodeCSS" ... />

CSS:

.selectNodeCSS {
    outline: none;
}