(西安羚羊网络科技有限公司——技术文档)
Winform中的TreeView空间失去焦点后无法突出显示,即就是将HideSelection设置为fals 但背景仍然是灰色,看起来不明显!
解决方法:
将TreeView的HideSelection属性设置为False,DrawMode属性设置为OwnerDrawText
将TreeView的DrawNode事件写为:
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.CornflowerBlue, new Rectangle(e.Node.Bounds.Left, e.Node.Bounds.Top, e.Node.Bounds.Width, e.Node.Bounds.Height));//背景色为蓝色
e.Graphics.DrawString(e.Node.Text, tvFunctionInfo.Font, Brushes.White, Rectangle.Inflate(e.Bounds, 2, 0)); //字体为白色
}
else
{
e.DrawDefault = true;
}
}