日期:2014-05-18  浏览次数:20695 次

这是为什么呢?paint为何不能实时变化?


在表格上绘制的线条
行数很多
F5调试的时候正常,如图1


用鼠标上下滚动后,变成了这个样子,这是怎么回事呢?该如何修改?




代码:

  private void Form1_Load(object sender, EventArgs e)
  {
  this._flex.Paint += new PaintEventHandler(_flex_Paint);
  }

void _flex_Paint(object sender, PaintEventArgs e)
  {  
  .....(省略)  
  formGraphics.DrawLine(myPen, x1, y1, x2, y2); //col1,row1,col2,row2  
  }

------解决方案--------------------
滚动时,写上 this.Invalidate(); 来触发重绘
------解决方案--------------------
scrollbar 重绘事件