GDI在PictureBox上画曲线,其上方再放一个可以移动的Label,问题是移动Label时会把绘制好的曲线擦掉。 GDI在PictureBox上画曲线,其上方再放一个可以移动的Label,问题是移动Label时会把绘制好的曲线擦掉。在移动 Label 的过程中重绘所有的曲线方法可能不行,会导致画面闪烁厉害。重绘上一次Label所在位置的曲线也有难度,曲线是移动的。该如何做才能让移动label时,所画的曲线不被擦除???? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 參見http://blog.csdn.net/tjvictor/archive/2006/06/19/812792.aspx 在移动Label时只重绘被Label挡住的那部分区域 to 在移动Label时只重绘被Label挡住的那部分区域-----------------------------------------------因为曲线是移动的,所以重绘时有点难度,想尽量用别的办法。如果实在不行就只好那么办了。 to tjvictor(初学者) ----------------------现在不想重新画,重新画的画闪烁的太厉害了。 那你就别把 Label 放到 PictureBox上 放到别的控件上就没问题了 在 label 移动事件中写入:pictureBox1.Invalidate( new Rectangle(label1.Location, label1.Size)); 那你就别把 Label 放到 PictureBox上 放到别的控件上就没问题了---------------------------------------------Label 是基于Form的。现在需要它在pictureBox上指定位置。使用双缓冲---------------------没试过,想尽量用别的办法,而不重绘。 在 label 移动事件中写入:pictureBox1.Invalidate( new Rectangle(label1.Location, label1.Size));------------------------------------------------------------------------不行,我的Graphics 是通过 pictureBox.CreateGraphics() 得到的,重画也不会重画我以前画出的曲线。现在的解决办法是:1 不通过 pictureBox.CreateGraphics() 而是通过 pictureBox 的 Paint 事件中的 e.Graphics。发现在通过这个事件得到的 Graphics ,在这上面画的线好像不会出现被擦除的现象。2 在想要画图的时候,调用一次 pictureBox.Invalidate()。问题是:通过上面这个办法只能在 Paint 事件中画图,因为通过 e.Graphics 得到的 Graphics 离开这个函数后就没法用了。 大清早的问个幼稚的问题 高分求解:设计窗体时,使用自定义控件,设计模式下窗体无法正常显示,但可以正常编译,提示某个自定义属性无法反序列化,帖子中提供了错误信息和源代码 递归出错后仍然继续的问题 求.net Framework类关系图 麻烦帮忙看看这段代码,取得汉字拼音首字母 如何将uint数据类型转换成int 如何将Object 转换成 byte[] 新手上路,我怎样自学C#,我不怕困难. 请问在调试程序时DEBUG模式和RELEASE模式有什么区别呢? 苦恼中! 小问题 如何在DataGrid中加入图片
http://blog.csdn.net/tjvictor/archive/2006/06/19/812792.aspx
-----------------------------------------------
因为曲线是移动的,所以重绘时有点难度,想尽量用别的办法。
如果实在不行就只好那么办了。
----------------------
现在不想重新画,重新画的画闪烁的太厉害了。
---------------------------------------------
Label 是基于Form的。现在需要它在pictureBox上指定位置。
使用双缓冲
---------------------
没试过,想尽量用别的办法,而不重绘。
pictureBox1.Invalidate( new Rectangle(label1.Location, label1.Size));
------------------------------------------------------------------------
不行,我的Graphics 是通过 pictureBox.CreateGraphics() 得到的,重画也不会重画我以前画出的曲线。现在的解决办法是:
1 不通过 pictureBox.CreateGraphics() 而是通过 pictureBox 的 Paint 事件中的 e.Graphics。发现在通过这个事件得到的 Graphics ,在这上面画的线好像不会出现被擦除的现象。2 在想要画图的时候,调用一次 pictureBox.Invalidate()。问题是:通过上面这个办法只能在 Paint 事件中画图,因为通过 e.Graphics 得到的 Graphics 离开这个函数后就没法用了。