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

zhq1001 2012-05-28 03:49:21


在表格上绘制的线条
行数很多
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
}
...全文
113 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhq1001 2012-05-28
  • 打赏
  • 举报
回复
在_flex_paint()里面加入 this.Invalidate() 后,线条是固定了,但是无法与后面表格里的0的位置对应起来,又该怎么办呢?
zhq1001 2012-05-28
  • 打赏
  • 举报
回复
在_flex_paint()里面加上

this
zhq1001 2012-05-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

滚动时,写上 this.Invalidate(); 来触发重绘
[/Quote]

在哪写呢?
是在Form1_Load()
还是在_flex_Paint()
bdmh 2012-05-28
  • 打赏
  • 举报
回复
滚动时,写上 this.Invalidate(); 来触发重绘

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧