6

タスクバーに表示したくないアプリケーションがあります。アプリケーションが最小化されると、SysTray に最小化されます。

問題は、タスク バーのShowInTaskbar = falseに最小化されたアプリケーション ショーを設定すると、Windows 7 のスタート ボタンのすぐ上に表示されることです。アプリケーションを正しく最小化するように設定すると、明らかにアプリケーションがタスクバーに表示されます。ShowInTaskbar = true

なぜこれが起こっているのか、どうすれば修正できるのでしょうか?

最小化の失敗

編集:明確にするために、ここに私が使用しているコードがあります:

private void Form1_Resize(object sender, EventArgs e)
        {
            if (WindowState == FormWindowState.Minimized) {                                                                                    
                this.Hide(); 
                this.Visible = false;         
                notifyIcon1.Visible = true;           
            }
            else
            {
                notifyIcon1.Visible = false; 
            }
        }

    private void btnDisable_Click(object sender, EventArgs e)
    {

        // Minimize to the tray
        notifyIcon1.Visible = true;
        WindowState = FormWindowState.Minimized; // Minimize the form
    }
4

5 に答える 5

3

私の推測では、ウィンドウも非表示にする必要があります。WPF でこの動作を実現するには、次のことを行う必要があります。

WindowState = WindowState.Minimized;
Visibility = Visibility.Hidden;
ShowInTaskbar = false;

WPF と WinForms はどちらも最終的には Win32 ウィンドウになるため、おそらく同じことを行う必要があります。

于 2013-07-16T16:21:22.090 に答える