创业板 开户,第一高考网,拷问馆
最近我在项目中遇到一个让我十分头疼的问题,就是我在截屏时也将截屏之前隐藏的控件也截入了。
情况:我在winform窗体有个截屏功能按钮,实现在调用wpf全屏后截屏,但在截屏wpf界面前将界面里的一个label标签提示语隐藏掉。这个让我感到十分的奇怪的是,我隐藏的代码明明写在截屏代码之前,按照同步线程,
在执行完隐藏控件代码之后才进入截屏代码的,而且我用messagebox弹框测试了下,确认在截屏之前控件是隐藏的。
方法一:
我谷歌搜索分析了很久,发现可能是隐藏控件需要一定的时间,截图前调用了hide,但hide尚未完成时就截了图了。后来加入了线程sleep,但是还是不行,发现因为sleep阻塞的是hide所在的线程,所以我就起个线程hide,这样就可以截屏了。
方法二:
将隐藏控件放入截屏功能按钮mouseenter事件里,这样就在点击事件之前就将控件隐藏了。如果想显示控件不想截屏,也可以在mouseleave事件里显示该控件即可。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Net Core Web Api项目与在NginX下发布的方法
asp.net core3.1 引用的元包dll版本兼容性问题解决方案
IdentityServer4实现.Net Core API接口权限认证(快速入门)
ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现
网友评论