欲實現以下效果,請直接調用複製代碼中的方法,在構造函數或者界面加載的時候調用即可
/// <summary>
/// 焦點行下劃線
/// </summary>
/// <param name="grid"></param>
void DrawRowLine(GridControl grid)
{
grid.Paint += (s, e) =>
{
GridView gridView = grid.FocusedView as GridView;
GridViewInfo viewinfo = gridView1.GetViewInfo() as GridViewInfo;
GridViewRects gridViewRects = viewinfo.ViewRects;
var focusedRowInfo = gridViewRects.ViewInfo.RowsInfo.GetInfoByHandle(gridView.FocusedRowHandle);
if (focusedRowInfo != null)
{
var r = focusedRowInfo.DataBounds;
Point p1 = new Point(r.X, r.Y + r.Height);
Point p2 = new Point(r.X + r.Width, r.Y + r.Height);
var pen = new Pen(Color.Yellow);
pen.Width = 2;
e.Graphics.DrawLine(pen, p1, p2);
}
};
(grid.FocusedView as GridView).FocusedRowChanged += (s, e) =>
{
grid.Refresh();
};
}
調用方法演示: