如题,默认的都是顶端对其,如何垂直居中?是winform不是web.net,很多人问,但是都没有答案。

解决方案 »

  1.   

    搞定了,我用的自绘方式,谁回一个,散分。
    把代码贴出来,给需要的同学。 //重绘treeview节点样式
            private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e)
            {
                Color foreColor;
                Color backColor;
                if ((e.State & TreeNodeStates.Selected) > 0)
                {
                    foreColor = Color.DarkOrange;//鼠标点击节点时文字颜色
                    backColor = Color.DimGray;//鼠标点击节点时背景颜色
                }
                else if ((e.State & TreeNodeStates.Hot) > 0)
                {
                    foreColor = Color.Lime;//鼠标经过时文字颜色
                    backColor = Color.Gray;//鼠标经过时背景颜色
                }
                else
                {
                    foreColor = this.treeView1.ForeColor;
                    backColor = this.treeView1.BackColor;
                }
                e.Graphics.FillRectangle(new SolidBrush(backColor), new Rectangle(e.Bounds.Location, new Size(this.treeView1.Width - e.Bounds.X, e.Bounds.Height)));
                e.Graphics.DrawString(e.Node.Text, this.treeView1.Font, new SolidBrush(foreColor), e.Bounds.X,e.Bounds.Y+5);
            }关键就是e.Bounds.Y+5这里,具体加几慢慢调整就行了