专业网站制作公司招聘,有什么做家常菜的网站,网站开发语言总结,郑州企业网站托管公司一、透明窗口全屏时#xff0c;鼠标不穿透
问题描述
我有一个透明窗口#xff0c;它是一个全屏置顶窗口#xff0c;窗口里面有一个工具条#xff0c;可以通过鼠标拖动工具条的位置#xff0c;程序启动后#xff0c;在不点击工具条的时候#xff0c;鼠标是可以穿透的鼠标不穿透
问题描述
我有一个透明窗口它是一个全屏置顶窗口窗口里面有一个工具条可以通过鼠标拖动工具条的位置程序启动后在不点击工具条的时候鼠标是可以穿透的当点击一次工具条后在点击其余透明的地方就不能穿透了
问题原因分析
通过排查导致这个原因是窗口在初始化的时候设置了ResizeMode“NoResize”通过测试设置为NoResize或者CanMinimize都存在问题
解决办法
办法1
取消窗口的ResizeMode设置或者显示设置为CanResize或者CanResizeWithGrip
办法1遇到的问题
鼠标穿透已经没有问题了 但是在拖动工具条或者鼠标从工具条上经过的时候控件呈现显示缓慢或者抖动的问题体验很不好重新将ResizeMode还原则没有这个问题
办法2正确办法
窗口在初始化的时候不设置ResizeMode参数在窗口的Loaded事件里面在设置ResizeMode public partial class MainWindow : Window{public MainWindow(){InitializeComponent();this.ResizeMode ResizeMode.CanResize;this.Loaded OnLoaded;}private void OnLoaded(object sender, RoutedEventArgs e){this.ResizeMode ResizeMode.NoResize;}}通过这个方法设置后既能解决鼠标穿透问题也没有发现拖动问题。 备注 WPF程序在其它一些设置也会导致初始化和Loaded事件呈现出的结果不一样目前我已知的有着2个属性
TopMostResizeMode
建议如果需要调整这些属性可以在Loaded事件里面再设置他们这样可以避免一些千奇百怪的问题。
一、窗口最小化或者隐藏后再显示后鼠标不穿透
问题描述
我有一个透明窗口它是一个全屏置顶窗口窗口里面有一个工具条可以通过鼠标拖动工具条的位置程序启动后正常操作后窗口穿透状态是正确的但是当窗口最小化或者隐藏后然后再显示后出现了鼠标不穿透的问题。
问题原因分析
问题发现在重新显示窗口后
解决办法
目前暂时没有找到很好的解决这个问题的办法只能采用迂回策略在需要隐藏或者最小化窗口时采用隐藏窗口下的控件来处理。