【问题标题】:Set WPF Application's size to overlay all Monitors设置 WPF 应用程序的大小以覆盖所有监视器
【发布时间】:2017-01-02 09:43:47
【问题描述】:

我的主要用户目标是拥有多个屏幕的用户。 我的应用程序应该覆盖所有这些屏幕。对于屏幕彼此相邻,主屏幕左侧的用户来说,这很容易。然后我可以设置我的程序的this.Left = 0(与顶部相同)并将宽度设置为屏幕组合宽度。 不幸的是,没有用户拥有相同的设置,所以我必须制作一些动态代码,这将在每个设置上正确放置窗口。 如果用户的主屏幕位于右侧怎么办?如果他的屏幕是垂直的呢?如果他在每个屏幕上有不同的分辨率和/或不同的缩放因子(DPI、100%、125%、...)怎么办?

有人可以帮我写一个 C# 方法来正确放置我的窗口以覆盖每个监视器吗?谢谢!

【问题讨论】:

    标签: c# wpf windows winforms screen


    【解决方案1】:

    此函数将计算连接的屏幕总数并为您提供尺寸。

                    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。
    猜你喜欢
    • 2017-06-19
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 2014-05-26
    • 2016-07-21
    • 1970-01-01
    相关资源
    最近更新 更多