簡體   English   中英

C#WPF-最大化應用程序時隱藏任務欄

[英]C# WPF - Hide taskbar when maximizing application

當我最大化我的應用程序時,我想隱藏任務欄。 它從全屏模式開始,帶有隱藏的任務欄(在MainWindow.xaml中定義,由以下代碼定義):

WindowState="Maximized"
WindowStyle="None"

我希望能夠使應用程序恢復為正常的窗口模式,然后使用隱藏的任務欄返回全屏顯示。

當我單擊標題欄中的最大化按鈕時,應用程序進入全屏模式,但任務欄保持可見。 我已經嘗試將ResizeMode設置為NoResize,但對我而言不起作用。

這是我的代碼:

public MainWindow()
    {
        InitializeComponent();

        StateChanged += MainWindow_StateChanged;
    }

    private void MainWindow_StateChanged(object sender, EventArgs e)
    {
        var state = ((MainWindow)sender).WindowState;

        if(state == WindowState.Normal)
        {
            // When escaping
            ResizeMode = ResizeMode.CanResize;
            WindowStyle = WindowStyle.SingleBorderWindow;
        }
        else if(state == WindowState.Maximized)
        {
            // When maximizing
            ResizeMode = ResizeMode.NoResize;
            WindowStyle = WindowStyle.None;
            Topmost = true;
        }
    }

    private void Window_KeyDown(object sender, KeyEventArgs e)
    {
        if(e.Key == Key.Escape)
        {
            WindowState = WindowState.Normal;
        }
    }

您應該更改代碼,如下所示:

參考: 此鏈接

MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight;
MaxWidth = SystemParameters.MaximizedPrimaryScreenWidth;

您也可以嘗試在此線程中提到的win32 API。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM