我重绘了TreeView的选中颜色,但是遇到一些问题,样式很难看,再扩大填充范围时仅能沿xy轴扩大,字顶在左上角,很难看,怎么能设置字体的填充呢,像网页padding那样
if ((e.State & TreeNodeStates.Selected) != 0) { //灰底白字 e.Graphics.FillRectangle(Brushes.DarkGray, e.Node.Bounds); Font nodeFont = e.Node.NodeFont; if (nodeFont == null) nodeFont = ((TreeView)sender).Font; e.Graphics.DrawString(e.Node.Text, nodeFont, Brushes.White, Rectangle.Inflate(e.Bounds, 2, 0)); } else { e.DrawDefault = true; }
http://www.cnblogs.com/xe2011/p/3817402.html
这么喜欢花时间在UI上的话,建议直接转WPF吧。
WINFORM的话直接使用第三方控件,自己就算了...
都有Rectangle参数了,调整一下就完了嘛。