当TreeViews失去焦点的时候选择项继续保持高亮
先要设置HideSelection=false,设置完成后这时候已经能保持高亮了,但是可以看到选项灰蒙蒙的并不是想要的,这时候需要手动重绘。
设置DrawMode=OwnerDrawText,然后增加DrawNode事件,在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 - 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; } }
找了半天不知道原来默认的蓝色是什么名字,找了一个最相近的CornflowerBlue。

浙公网安备 33010602011771号