![]() |
1
11
首先要注意的是,“最大化”的概念是与一个监视器联系在一起的,因此您不能在多个监视器上真正拥有一个最大化的窗口。当然,在WPF中,您可以创建自己的窗口框架并在其中绘制您喜欢的任何内容,因此,如果您愿意,您当然可以让用户认为窗口是最大化的,跨越多个屏幕。 还请注意,只有两种情况下,可以跨两个监视器,使用一个矩形窗口:
否则,您需要使用两个单独的窗口来覆盖两个监视器的整个表面,或者使用一个大窗口,其中包含任何监视器都无法覆盖的区域。 好的,下面介绍如何获取定位窗口所需的信息: WPF本身不提供询问监视器计数、分辨率或相对位置的方法。幸运的是,我们可以使用[dllimport]直接调用win32。要获得监视器分辨率和布局,只需:
基本思路如下:
一旦您有了监视器坐标,就可以使用您选择的算法来选择要创建的窗口数量以及每个窗口需要的坐标。然后使用显式大小和位置创建窗口。 请注意,您可能希望使用rcwork,而不是rcmonitor,这样就不会覆盖开始菜单等。 还要注意,在许多情况下,返回的一些坐标将是负数,例如,如果辅助监视器位于主监视器的左侧。这不是问题:只要使用给定的坐标,窗口就会出现在正确的位置。 |
![]() |
2
-1
如果可以始终假定辅助监视器与主监视器的分辨率相同,则可以实现如下内容:
或:
|
![]() |
Kryptonit364 · 在DataGrid中隐藏调整大小和选择列 2 年前 |
![]() |
hassan Ma · 从顶部将文本插入WPF文本块 2 年前 |
![]() |
Arijit · 移动画布内绘制的矩形 2 年前 |
![]() |
juraj14466 · C#WPF实时图表将点渲染为图像 2 年前 |