我知道 WPF 有一个“CenterScreen”值,用于使窗口在桌面上居中。 然而,在双显示器上,这并不是很令人愉快。
如何以主显示器为中心?我是否需要完成检测主桌面、获取其几何形状等的工作,或者是否有更好的方法?
最佳答案
多屏幕是一个问题,它没有内置的、精美包装的方法来处理它们,但通过一些数学和系统参数,您可以完成它。
如果您将窗口定位在位置 (0,0),则该位置将是主屏幕的左上角。因此,为了使您的窗口出现在该屏幕的中心,请使用:
this.Left = (SystemParameters.PrimaryScreenWidth / 2) - (this.ActualWidth / 2);
this.Top = (SystemParameters.PrimaryScreenHeight / 2) - (this.ActualHeight / 2);
基本思想很简单,无需解释。
请注意,此代码适用于 C#,但我确信 VB 也有类似的代码。
另请注意,您应该使用 ActualWidth\ActualHeight 属性,而不是 Width\Height 属性,因为它可能包含 NaN 值。
祝你好运。
关于.net - Wpf - 以主桌面为中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1392126/