首页 新闻 会员 周边

C# GDI+绘图在使用Invalidate()之后button按钮看不到了

0
悬赏园豆:10 [已解决问题] 解决于 2016-03-19 14:41

使用了Invalidate()方法之后,button按钮就看不到了,运行前:

运行后:

代码:

如果我把Invalidate()语句注销。按钮就又可以看到了:

有没有大神知道为什么Invalidate()和按钮会有冲突呢,虽然在使用Invalidate方法时按钮看不到。但是向按钮所在的区域点击鼠标依然可以触发按钮的点击事件,说明按钮是客观存在的。只是看不到了。小弟园斗比较少,只能用10个意思下了。望各路大神不吝赐教!!!!

lqc1的主页 lqc1 | 初学一级 | 园豆:152
提问于:2016-03-17 09:27
< >
分享
最佳答案
0

你的Paint事件是画在了整个窗体上面,可能Invalidate方法的矩形刚好在按钮上面,你画完后,就把按钮的区域给覆盖了

你把Invalidate的区域调整下,别放在按钮上面

还有,你应该在要画的区域放个iamge控件,然后new一个bitmap,再画在那个上面,不应该直接画在窗体上面

收获园豆:10
刘宏玺 | 专家六级 |园豆:14020 | 2016-03-17 09:37

应该不是Invalidate方法的区域问题,我尝试调整了位置button还是没有显示出来。

我是初学者,NEW一个bitmap的方法能给个示例嘛,谢谢

lqc1 | 园豆:152 (初学一级) | 2016-03-17 09:44

@lqc1: 

 

using(Graphics g = Graphics.FromImage(bitmap))
{
   g.Draw...
}

刘宏玺 | 园豆:14020 (专家六级) | 2016-03-17 09:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册