当WindowStyle为SingleBorderWindow时,将任务栏隐藏在最大化状态

时间:2015-03-20 21:58:01

标签: c# .net wpf

我在我的设置窗口中添加了一个选项供我的用户选择是否显示Windows任务栏,或者在最大化窗口时完全使用FullScreen。

我试过这个

static readonly IntPtr HWND_TOPMOST = new IntPtr(-1);
    const uint SWP_NOSIZE = 0x0001;
    const uint SWP_NOMOVE = 0x0002;
    const uint SWP_SHOWWINDOW = 0x0040;

    public static void SetFormTopMost()
    {
        IntPtr windowHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle;
        SetWindowPos(windowHandle, HWND_TOPMOST, 0, 0, 0, 0,
                     SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
    }

但这不起作用。甚至没有成为TopMost ..

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

    public void MaximizeWindow(bool IsFullScreenWithTaskbar)
    {
        if (IsFullScreenWithTaskbar)
        {
            this.MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight;             
        }
        this.WindowStyle = WindowStyle.SingleBorderWindow;
        this.ResizeMode = ResizeMode.NoResize;
        this.WindowState = WindowState.Maximized;
    }