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則會出現一些設定顏色值的間隙。
所以用此方法是最好在事件里設定顏色,另外還有一點點突出來的地方,這個應該不影響了。