是否有机会删除所选节点周围的这条虚线?
问问题
3208 次
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 回答