C# 设置WPF应用程序';s大小以覆盖所有监视器
我的主要用户目标是具有多个屏幕的用户。 我的应用程序应该覆盖所有这些屏幕。这对于屏幕相邻、主屏幕左侧的用户来说很容易。然后我可以设置我的程序的C# 设置WPF应用程序';s大小以覆盖所有监视器,c#,wpf,windows,winforms,screen,C#,Wpf,Windows,Winforms,Screen,我的主要用户目标是具有多个屏幕的用户。 我的应用程序应该覆盖所有这些屏幕。这对于屏幕相邻、主屏幕左侧的用户来说很容易。然后我可以设置我的程序的this.Left=0(与Top相同),并将宽度设置为屏幕的组合宽度。 不幸的是,从来没有用户有相同的设置,所以我必须制作一些动态代码,将窗口正确地放置在每个设置上。 如果用户的主屏幕位于右侧,该怎么办?如果他把屏幕竖起来怎么办?如果他在每个屏幕上有不同的分辨率和/或不同的比例因子(DPI,100%,125%,…),该怎么办 有人能帮我写一个C#方法来正确
this.Left=0
(与Top相同),并将宽度设置为屏幕的组合宽度。
不幸的是,从来没有用户有相同的设置,所以我必须制作一些动态代码,将窗口正确地放置在每个设置上。
如果用户的主屏幕位于右侧,该怎么办?如果他把屏幕竖起来怎么办?如果他在每个屏幕上有不同的分辨率和/或不同的比例因子(DPI,100%,125%,…),该怎么办
有人能帮我写一个C#方法来正确地放置我的窗口以覆盖每个监视器吗?谢谢 此函数将计算连接的屏幕总数,并提供尺寸
public System.Drawing.Size GetTotalArea()
{
System.Drawing.Size SizeYouNeed = new Size(0,0);
foreach (var screen in Screen.AllScreens)
{
SizeYouNeed.Height+=screen.WorkingArea.Height;
SizeYouNeed.Width +=screen.WorkingArea.Width;
}
return SizeYouNeed;
}
这不是我想要的。例如,用户有两个相邻的1080p监视器,那么我希望我的窗口大小为3840x1080。如果他有两个垂直的1080p显示器,我希望我的窗口是1920x2160。