日期:2014-05-17  浏览次数:20918 次

绘制drawEllipse & drawString


使用了
C# code
_flex.Invalidate();


向右 / 向下拖动 ScrollBar 时,绘制的Ellipse 和 String 会出现在 固定行/固定列


如何解决这种情况呢?不让绘制的ellipse与string 出现在固定行,固定列

C# code


 _flex.Paint += new PaintEventHandler(draw_circle);
 private void draw_circle(object sender, PaintEventArgs e)
{
    //... ...
    int x = _flex.ScrollPosition.X + _flex.Cols[c].Left + 5;
    int y = _flex.ScrollPosition.Y + _flex.Rows[r].Top + 5;
    // ... ...
}





注:_flex.Cols[c].Left 第三方控件的,是正确的

------解决方案--------------------
可尝试用 e.Row, e.Col 的方式解决,
------解决方案--------------------
cellpainting或grid的OnPaint中画