C# Datagridview绘制和其上的滚动效果

C# Datagridview绘制和其上的滚动效果,c#,C#,嘿,frenz,在我的项目中,我将行与细胞绘画合并。它很好用。但当我使用滚动条时,它会给出随机输出。i、 合并单元格上的数据进入datagrid视图的标题。因此,任何解决方案。代码如下: private void Daywisegrid_Paint(object sender, PaintEventArgs e) { for (int k = 0; k < BranchIndex.Count; k++) { Font fnt = new Font("Ari

嘿,frenz,在我的项目中,我将行与细胞绘画合并。它很好用。但当我使用滚动条时,它会给出随机输出。i、 合并单元格上的数据进入datagrid视图的标题。因此,任何解决方案。代码如下:

private void Daywisegrid_Paint(object sender, PaintEventArgs e)
{
    for (int k = 0; k < BranchIndex.Count; k++)
    { 
        Font fnt = new Font("Arial", 10, FontStyle.Bold, GraphicsUnit.Point);       
        Rectangle rct1 = new Rectangle((Daywisegrid.GetColumnDisplayRectangle(0, true).X),

        (Daywisegrid.GetColumnDisplayRectangle(0, true).Y),    
        Daywisegrid.GetColumnDisplayRectangle(0, true).Width - 1,    
        (Daywisegrid.GetRowDisplayRectangle((Daywisegrid.Rows.Count - 1), true).Top -  
        Daywisegrid.GetRowDisplayRectangle((Daywisegrid.Rows.Count - 1), true).Height));

        Rectangle rct = Daywisegrid.GetRowDisplayRectangle(Convert.ToInt32(BranchIndex[k]), true);
        rct.Height -= 1;
        SizeF s = e.Graphics.MeasureString("Branch", Daywisegrid.Font);
        float lefts = (rct.Width / 2) - (s.Width / 2);
        float tops = rct.Top+((rct.Height/2)-(s.Height / 2));
        e.Graphics.FillRectangle(Brushes.White, rct);
        e.Graphics.DrawString(BranchName[k].ToString(), fnt, Brushes.Black,0, tops);

    }
}

这就是行不通。当一行从网格中滚动出来时,就会出现问题,固定的标题单元格位于两者之间。