devexpress中gridcontrol头部添加垂直线(右边框)

winform开发,用devexpress中的gridcontrol控件,头部默认是3D样式,当客户希望像内容一样扁平化显示且需要添加垂直线(右边框)时
恶梦开始了。。
经过一阵摸索发现可以这样解决:

1.设置GridControl的GridView控件的PaintStyleName属性为Web

2.为GridControl的GridView控件添加CustomDrawColumnHeader事件,参考代码如下:

private void gridView1_CustomDrawColumnHeader(object sender, ColumnHeaderCustomDrawEventArgs e)
{
    if (e.Column == null) return;
    e.Painter.DrawObject(e.Info);
    using (Pen p1 = new Pen(Color.FromArgb(227, 227, 227), 2))
    {
        e.Graphics.DrawLine(p1, e.Bounds.X + e.Bounds.Width, e.Bounds.Y - 2, e.Bounds.X + e.Bounds.Width, e.Bounds.Y + e.Bounds.Height + 2);
    }
}

注:Color.FromArgb(227, 227, 227) 这是垂直线的颜色值
这时候如果有设置GridView中Appearance属性下的HeaderPanel下的BorderColor则会出现一些设定颜色值的间隙。
所以用此方法是最好在事件里设定颜色,另外还有一点点突出来的地方,这个应该不影响了。

posted @ 2014-08-01 18:11  天际翔龙  阅读(2158)  评论(0编辑  收藏  举报