更改DataGridView行的绘制位置

时间:2013-10-09 08:05:15

标签: c# winforms datagridview paint datagridviewrow

我有DataGridView的自定义衍生版本。我想要改变绘制某些行的位置:从某个索引向前开始,我想将该行下面的每行移动一行高度,这样我就可以在行之间的结果空间中绘制自定义形状。我想到的是覆盖OnRowPrePaint并检查行索引是否大于阈值行。如果是,我想将行向下移动:

private void MoveRows(DataGridViewRowPrePaintEventArgs e)
{
    if(e.RowIndex >= thresholdRowIndex)
    {
        e.RowBounds.Y += e.RowBounds.Height; // doesn't work
    }
}

这就是问题所在。我以为我可以移动某种边界矩形,但我唯一看到的是RowBounds并且它是只读的。

我有什么选择?

0 个答案:

没有答案