Winform中Treeview控件失去焦点,如何将选择的节点还设置为高亮显示?
在Winform中当Treeview控件失去焦点时被选中的节点要用高亮显示,设置了HideSelection属性就可以,但是背景是灰色的,太暗淡,不显眼。如何将其背景换成...
在Winform中当Treeview控件失去焦点时被选中的节点要用高亮显示,设置了HideSelection属性就可以,但是背景是灰色的,太暗淡,不显眼。如何将其背景换成其他显眼颜色。请高手解答,谢谢
展开
1个回答
推荐于2017-11-25
展开全部
这个你可以重绘节点的背景 代码如下 private void Form1_Load(object sender, EventArgs e)
{
treeView1.HideSelection = false;
treeView1.DrawMode = TreeViewDrawMode.OwnerDrawText;
}
private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e)
{
e.Graphics.FillRectangle(Brushes.White, e.Node.Bounds);
if (e.State == TreeNodeStates.Selected)//选中的失去焦点的节点
{
e.Graphics.FillRectangle(Brushes.Black, new Rectangle(e.Node.Bounds.Left - 1, e.Node.Bounds.Top, e.Node.Bounds.Width - 2, e.Node.Bounds.Height)); //黑色背景 e.Graphics.DrawString(e.Node.Text, treeView1.Font, Brushes.White, e.Bounds);//白字 }
else
{
e.DrawDefault = true;
}
}
{
treeView1.HideSelection = false;
treeView1.DrawMode = TreeViewDrawMode.OwnerDrawText;
}
private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e)
{
e.Graphics.FillRectangle(Brushes.White, e.Node.Bounds);
if (e.State == TreeNodeStates.Selected)//选中的失去焦点的节点
{
e.Graphics.FillRectangle(Brushes.Black, new Rectangle(e.Node.Bounds.Left - 1, e.Node.Bounds.Top, e.Node.Bounds.Width - 2, e.Node.Bounds.Height)); //黑色背景 e.Graphics.DrawString(e.Node.Text, treeView1.Font, Brushes.White, e.Bounds);//白字 }
else
{
e.DrawDefault = true;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询