关于picturebox重绘的问题

需要先说明的是,我的软件中需要根据按钮事件,在同一个picturebox中绘制3钟不同的图形开始我编译好后,图形绘制没有问题,但一旦打开窗口、或者使用picturebox... 需要先说明的是,
我的软件中需要根据按钮事件,在同一个picturebox中绘制3钟不同的图形
开始我编译好后,图形绘制没有问题,但一旦打开窗口、或者使用picturebox的滚动条,就会被遮挡部分,被遮挡的不会自动恢复。
为了解决这个问题,我创建了一个bitmap,在bitmap中绘制,然后传到picturebox中,这样确实成功了,但只成功了前两个,第3种图形无法显示,直接一片空白。
经过调试,每一步都没有问题,表格、点线都绘制出来了,直到运行picturebox.Image=img之后突然就变成空白了。

开始,我个人感觉可能是bitmap不够大,但我要绘制的图形是和数据关联的,我也不知道要绘制多大,而且设置bitmap的尺寸足够大了后依然一片空白。
求高手指点,为什么不成功?为什么前两个图像能成功运行,第三个却出了问题,(画图代码是无问题的)。
好的加分,不过可能会晚点。
展开
 我来答
网海1书生
科技发烧友

2012-09-16 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26226

向TA提问 私信TA
展开全部
奇怪,你第二次问怎么还是分到VB来了?那我就不客气再回答一次了:

VB解决这种问题很简单,就是把PictureBox的AutoRedraw属性设为True即可,就是说只要图片被遮挡后它会“自动重绘”。我想C#中的PictureBox也应该有这样类似的属性吧?如果没有,那么长期被C#鄙视的VB这回总算可以鄙视一下C#了!
追问
奇怪的度娘,我只提问了一次。
cd68001
2012-09-17 · TA获得超过4228个赞
知道小有建树答主
回答量:976
采纳率:66%
帮助的人:344万
展开全部
回到第一个问题,PictureBox被遮挡以后,再取消遮挡,被遮挡的部分内容消失,这是一个属性 AutoRedraw=False造成的,设置为True即可。False的好处是绘制速度快,但没有保存在显存里。AutoRedraw=True是将绘图内容绘制在显存里,速度较慢,有时还需要.Refresh方法刷新一次才行,但只要显示出来,就不怕被遮挡了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式