第一次用,有些不懂的地方希望大家给予赐教,多谢热心的高手们了.
1.我用GDI+画图,用方法再load事件里调用不能实现,再构造函数里调用就可以,这是为什么?
2.我用循环画图,经过测试,每次只显示最后一条线,前面的都没有,这是怎么回事?
3.当有窗体遮挡画出线的一部分时,线遮挡的部分就没有了,这个也不知道为什么.做到这里暂时就遇到这些事情,好像都是些硬性的东西,因为第一次用,不知道怎样做,希望大家帮帮忙,谢谢了,分数不多了,见谅!!
1.我用GDI+画图,用方法再load事件里调用不能实现,再构造函数里调用就可以,这是为什么?
2.我用循环画图,经过测试,每次只显示最后一条线,前面的都没有,这是怎么回事?
3.当有窗体遮挡画出线的一部分时,线遮挡的部分就没有了,这个也不知道为什么.做到这里暂时就遇到这些事情,好像都是些硬性的东西,因为第一次用,不知道怎样做,希望大家帮帮忙,谢谢了,分数不多了,见谅!!
2.你的循环绘图代码是什么?我估计你是被后一次的绘图给覆盖掉了
3.其实窗体的移动、最大化、最小化等引起窗体显示变化的时候其实都进行了窗体绘制,只不过是系统自己做的,所以如果你没有在OnPaint也就是窗体重绘中进行原样的绘制,那么以上操作就会因窗体显示的改变而改变你可以参考我的博客:http://stg609.cnblogs.com
还有想问下,关于第2个的循环覆盖的问题,要怎么解决呢???(这个很关键.)
if(bkImg!=null)
blImg.Dispose();这样就不会被东西挡了之后就没有图像了,也不会闪烁~ (类双缓冲~),
2.我用循环画图,经过测试,每次只显示最后一条线,前面的都没有,这是怎么回事?
3.当有窗体遮挡画出线的一部分时,线遮挡的部分就没有了,这个也不知道为什么. 1:不是不是执行,是执行以后Shown InitXXxx 把你画的东西盖了建议在Shown里面画
2:画的时候检查是不是Clear了
3。在OnPant(object sender,XXXX e)
用e.Graphic得到上下文就可以画了··和你在其他地方画一样没什么特别的··这个方法的意思当窗体需要重新描绘的时候执行 所以你才会像死循环一样实际上 没有循环哪么多,底层发的消息比较平凡而已
你下载后,打开bin文件夹的绘图程序.exe,然后选择打开一张尺寸比较大的图,这时会有滚动条显示出来,但是基本不影响画图。
这主要还是由于OnPaint事件进行了重画。
deathsign的分析很对,确实是这样.
现在我想在一定的情况下重新绘制,想调用虚方法onpaint();怎么写.
这个结束马上结贴.