【问题标题】:Don't hide taskbar on maximized window with multi screen不要在多屏最大化窗口上隐藏任务栏
【发布时间】:2016-07-13 18:15:42
【问题描述】:

我有一个应用程序 WPF。我的主窗口为:

<Setter Property="WindowStyle" Value="None"/>

当我设置时:

Window.GetWindow(this).WindowState = System.Windows.WindowState.Maximized

窗口进入全屏状态。在我的辅助屏幕上没问题,但它在我的主屏幕上隐藏了任务栏。我尝试过使用SystemParameters.MaximizedPrimaryScreenHeight,但它在辅助服务器上造成了麻烦。而在 WPF 中,我不知道如何检测实际屏幕。

有人有解决办法吗?

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

    我很确定没有原生 WPF 函数来获取显示器分辨率,但如果您使用多个屏幕these functions 可能会引起您的兴趣。

    【讨论】:

    • 我刚刚看了你的喜欢,但它似乎适用于 c++。实际上我正在 C# 上开发。或者也许这是我的项目的参考问题
    【解决方案2】:

    Dominik K 的帮助下,我终于找到了这个帖子How do I know what monitor a WPF window is in 并使用了解决方案:

    internal static class NativeMethods
    {
        public const Int32 MONITOR_DEFAULTTOPRIMERTY = 0x00000001;
        public const Int32 MONITOR_DEFAULTTONEAREST = 0x00000002;
    
        [System.Runtime.InteropServices.DllImport("user32.dll")]
        public static extern IntPtr MonitorFromWindow(IntPtr handle, Int32 flags);
    }
    

    不使用表单功能也可以工作

    【讨论】:

    • 这是旧的,但我遇到了类似的问题。所以我有一个关于上面的问题,你是如何设法访问显示器的宽度、高度和顶部/左侧位置以正确最大化它的? :)
    猜你喜欢
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多