Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置WPF应用程序';s大小以覆盖所有监视器_C#_Wpf_Windows_Winforms_Screen - Fatal编程技术网

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。