为了账号安全,请及时绑定邮箱和手机立即绑定

C#在截屏时将截屏之前需要隐藏的控件也截入

标签:
C#

最近我在项目中遇到一个让我十分头疼的问题,就是我在截屏时也将截屏之前隐藏的控件也截入了。

情况:我在Winform窗体有个截屏功能按钮,实现在调用WPF全屏后截屏,但在截屏WPF界面前将界面里的一个Label标签提示语隐藏掉。这个让我感到十分的奇怪的是,我隐藏的代码明明写在截屏代码之前,按照同步线程,

在执行完隐藏控件代码之后才进入截屏代码的,而且我用MessageBox弹框测试了下,确认在截屏之前控件是隐藏的。

方法一:

我谷歌搜索分析了很久,发现可能是隐藏控件需要一定的时间,截图前调用了hide,但hide尚未完成时就截了图了。后来加入了线程Sleep,但是还是不行,发现因为sleep阻塞的是hide所在的线程,所以我就起个线程hide,这样就可以截屏了。

方法二:

将隐藏控件放入截屏功能按钮MouseEnter事件里,这样就在点击事件之前就将控件隐藏了。如果想显示控件不想截屏,也可以在MouseLeave事件里显示该控件即可。


作者:38度6

原文网址:https://www.cnblogs.com/qiantao/p/9848121.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消