2

我想为不同的显示器设置不同的屏幕尺寸。

解析度

初级 - 1600*900,

次要 - 1920*1080

我的应用程序在主屏幕上运行良好,但是当我在辅助屏幕上拖动应用程序并最大化时,它仅根据主屏幕高度最大化。

我想要根据当前屏幕的应用程序屏幕大小。

4

1 回答 1

4

我建议您使用Screenclass fromSystem.Windows.Forms来定义您的应用程序是否在第二个屏幕上。有必要知道用户何时将您的应用程序移动到第二个显示器并知道它,我使用LocationChanged事件:

代码隐藏:

private Screen GetSecondaryScreen()
    {
        foreach (Screen screen in Screen.AllScreens)
        {
            if (screen != Screen.PrimaryScreen)
                return screen;
        }
        return Screen.PrimaryScreen;
    }        

    private void Window_LocationChanged(object sender, EventArgs e)
    {            
        if (Screen.PrimaryScreen != GetSecondaryScreen())
        {
            this.WindowState = WindowState.Maximized;
        }
    }

XAML:

<Window x:Class="DateTimePickerDataGridWPF.MainWindow"
    ...the code omitted for the brevity...
    Title="MainWindow" Height="350" Width="525" LocationChanged="Window_LocationChanged">
</Window>   
于 2016-04-14T11:25:20.167 回答