手动最大化应用程序时屏幕分辨率问题

时间:2009-12-15 21:01:49

标签: wpf resolution

在我们的WPF应用程序中,我们使用WindowStyle =“None”以便为我们的应用程序提供更自定义的外观。最大化/最小化按钮位于相同位置,但按照我们想要的方式设置。

因此,我们正在劫持最大化并最小化行为并手动执行。我们正在做以下事情:

this.Top = myScreen.WorkingArea.Top;
this.Left = myScreen.WorkingArea.Left;
this.Width = myScreen.WorkingArea.Width;
this.Height = myScreen.WorkingArea.Height;

此处,如果用户在多显示器设置上运行,则myScreen是应用程序中心点所在的屏幕。

在某些设置上,似乎没有连接,按下最大化按钮会将应用程序的大小扩展到监视器的实际可视区域。它在我和另一个开发人员设置上以这种方式失败,但我的老板多显示器设置它工作得很好。

我的显示器设置如下:

监控2(左)

Top, Left: 0, -1280
Resolution: 1280, 1024

监控1(右,笔记本电脑)

Top, Left: 0, 0
Resolution: 1680, 1050

当我手动将应用程序调整到最大化时的大小时,我会得到以下值:

Top, Left: 0, -1024
Height, Width: 792, 1024

我最近更新了笔记本电脑上的显示驱动程序,并没有更新版本。除此之外,我无法解释这一现象。有没有其他人有这方面的经验?这可能是每像素点数转换问题吗?我无法从这里找到任何答案或搜索谷歌...任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

您是否看过这个页面 - Maximizing window (with WindowStyle=None) considering Taskbar?此外,here is a developer's blog entry他控制了一个控件(尚未发布源代码,但声称它将很快发布)。