C#TransparencyKey透明问题
我的窗体设置TransparencyKey为White窗体背景为白色然后在窗体上用Graphics画了一张非白色的图再用Graphics画了一张白图这时画面上应该白图把前...
我的窗体设置TransparencyKey为White 窗体背景为白色
然后在窗体上用Graphics 画了一张非白色的图 再用Graphics 画了一张白图
这时画面上应该白图把前一张图覆盖且白色为透明 应该什么都不显示
但我在其他机器上用双显示器的时候 白色不透明 就显示一张白图
我把画面ALT + TAB切出去之后白色就透明了有人知道这是什么问题 该怎么解决
或者怎么达成这个ALT+TAB的效果也可以 展开
然后在窗体上用Graphics 画了一张非白色的图 再用Graphics 画了一张白图
这时画面上应该白图把前一张图覆盖且白色为透明 应该什么都不显示
但我在其他机器上用双显示器的时候 白色不透明 就显示一张白图
我把画面ALT + TAB切出去之后白色就透明了有人知道这是什么问题 该怎么解决
或者怎么达成这个ALT+TAB的效果也可以 展开
展开全部
“在窗体上用Graphics直接绘图” 这个件事羡桥本身就是错误的
GDI+的绘图原理:需要时刷新
当你alt+tab切早谈换后 窗体会进行重绘 重新执行OnPaint函数
你刚才绘制的内容全都不见了 窗体才会重新回归透明
正确的绘制方式是把绘图代码写在OnPaint中
或者绘制在一张Bitmap上 然后对窗体setBackground使他刷新显示
直接在代码中使用gdi+绘图是陆派碰不可取的-w-
GDI+的绘图原理:需要时刷新
当你alt+tab切早谈换后 窗体会进行重绘 重新执行OnPaint函数
你刚才绘制的内容全都不见了 窗体才会重新回归透明
正确的绘制方式是把绘图代码写在OnPaint中
或者绘制在一张Bitmap上 然后对窗体setBackground使他刷新显示
直接在代码中使用gdi+绘图是陆派碰不可取的-w-
追问
实际代码是在Bitmap上画的 我只是简化的说
我ALT+TAB之后其他图片都还在 没有变化
只有这张白图变为应有的透明
ALT+TAB并不会百分百的变成透明 只是偶尔会变
但只要进断点 就百分百会变透明
我现在就想让他正常的透明
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this.Refresh
更多追问追答
追问
this.Refresh会让所有图片消失
可以局部消失吗 就是只让这一区域变透明 背景就是透明的
追答
在OnPaint上绘图就不会消失
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询