GDI+绘图遮挡消失,OnPaint如何重写

lgr0106 2012-09-26 09:35:04
小弟最近在利用GDI+在picturebox上绘图,碰上了绘图遮挡消失的问题,网上查大家都说是用OnPaint重写,可是我不知道具体应该如何操作,我的程序是大致这样的:先写了一个绘图的类,然后在form1中点击button1,button1的代码中调用了我自己写的绘图类,在form1中的picturebox绘图。
请问这个程序的OnPaint要怎么写…是写在button1中还是写在绘图类中还是要怎样,头疼这个问题好几天了!跪求大家帮忙~!谢谢了~


public void button1_Click(object sender, EventArgs e)
{
drawtest2.DrawLineS(Color.Blue, NumMax, MaxA2, ykeduA2, pictureBox1, ptlistA2, TransTM2, TransDATA2, ii2, jj2, kk2, judgeA2);
ii2++;
kk2++;
jj2--;

}
...全文
332 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdmh 2012-09-26
  • 打赏
  • 举报
回复
把 DrawLineS放到picturebox的OnPaint事件中,其中e.Graphics就是用来绘图的画布
zypine 2012-09-26
  • 打赏
  • 举报
回复
继承一个picturebox ,然后重写OnPaint,不过这样简单处理会非常闪烁,还需要开缓冲处理
protected override void OnPaint(PaintEventArgs pe)
{
pe.Graphics.Drawline ( ...)
...
}
Trent1985 2012-09-26
  • 打赏
  • 举报
回复
你确定是在picturebox上绘图?而不是在Picturebox中显示的图像上绘图?如果是在picturebox上绘图,那么你要把绘图程序写在Picturebox的OnPaint事件里,这样就不会消失了。
lgr0106 2012-09-26
  • 打赏
  • 举报
回复
可以稍微详细说下重载哪个函数,大致要怎么写么……我C#还是入门阶段,谢谢了![Quote=引用 1 楼 的回复:]

OnPaint重载这个函数在里面写。
[/Quote]
足球中国 2012-09-26
  • 打赏
  • 举报
回复
OnPaint重载这个函数在里面写。

110,621

社区成员

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

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

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