vb 窗口最小化后绘制的图形被擦除了
我在一个Panel4_MouseClick事件中绘制了一个drawellipse图形(绘制在Panel4中),但是窗口最小化后图形就不见了,怎么才能让系统保持图形或重绘。...
我在一个Panel4_MouseClick事件中绘制了一个drawellipse图形(绘制在Panel4中),但是窗口最小化后图形就不见了,怎么才能让系统保持图形或重绘。我用的是vs2010(我知道有个onpaint函数,但是onpaint一旦写好 ,并不能动态改变其绘图参数,我需要用Panel4_MouseClick事件动态赋予绘图参数)
展开
1个回答
展开全部
如果控件有image属性的话,可以定义一位图并赋给它,在位图上进行绘图,可实现类似vb6的自动重画效果。比如在窗体上绘图:
Dim bmPage = New Bitmap(Width, Height) ‘定义位图
Dim G As Graphics = Graphics.FromImage(bmPage)'给位图建立绘图对象
G.SmoothingMode = Drawing2D.SmoothingMode.HighQuality'设置绘图平滑质量
用G的方法进行绘图
Me.Image = bmPage
我用的是vs2008,你的也应该能吧。
Dim bmPage = New Bitmap(Width, Height) ‘定义位图
Dim G As Graphics = Graphics.FromImage(bmPage)'给位图建立绘图对象
G.SmoothingMode = Drawing2D.SmoothingMode.HighQuality'设置绘图平滑质量
用G的方法进行绘图
Me.Image = bmPage
我用的是vs2008,你的也应该能吧。
更多追问追答
追问
这个方法是可行的,我的程序里还有一个panel4_paint事件,上面的这个方法会触发panel4_paint事件,这可以避免么、
追答
这个好像有个sizeautodraw属性,设置true可以使窗口尺寸改变时触发Paint事件。我记得不是很清楚,但肯定有这样的属性。
你是不想触发paint事件,把它删掉不就可以了吗。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询