回复 7 楼 shing110
因为你是在控件上直接绘图,要是控件自身触发了重绘事件的话,控件看上去就还原了,控件怎么显示是由控件决定的,窗口最小化后还原,其他窗口遮挡后又移开等等,控件都会重绘,重绘的时候不会执行那些后来附加上去的画的那些,除非重写控件的OnPaint方法。
解决办法就是在PictureBox的Image对象上画图,而不是在PictureBox上画图
Drawshape(pictureBox1.CreateGraphics(),pStart, pEnd, brushmode, Mypen, dmode);
改成
if (this.pictureBox1.Image == null)
{
Bitmap bmp = new Bitmap(this.pictureBox1.Width,this.pictureBox1.Height);
this.pictureBox1.Image = bmp;
}
Drawshape(Graphics.FromImage(this.pictureBox1.Image), pStart, pEnd, brushmode, Mypen, dmode);
[
本帖最后由 xydddaxia 于 2014-5-5 09:16 编辑 ]