0

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

4

2 回答 2

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);
}
于 2012-07-22T18:43:24.323 回答
-1

将 CSS 设置为

outline: none;

这将删除虚线。

编辑:

应用类似这样的css类

<SelectedNodeStyle CssClass="selectNodeCSS" />

或者

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

CSS:

.selectNodeCSS {
    outline: none;
}
于 2012-07-22T18:39:45.770 回答