C#Windows应用程序无法正确显示在系统托盘中

时间:2009-12-14 11:32:09

标签: c# winforms system-tray

我试图让ac#winforms应用程序仅在系统托盘中启动,但是当我使用以下命令时它显示在系统托盘中,但也显示为位于左上方任务栏上方的小标题栏开始按钮(windows xp)

有趣的是,只有当我在visual studio之外运行应用程序时才会发生这种情况。

有谁知道我做错了什么?

构造函数或Form_Load ....

this.ShowInTaskbar = false;
this.WindowState = FormWindowState.Minimized;
this.Hide();

3 个答案:

答案 0 :(得分:1)

为表单的Resize事件添加一个事件处理程序,该事件将在应用程序最小化时隐藏它。这样,它就不会出现在任务栏上。

private void Form1_Resize(object sender, System.EventArgs e)
{
   if (FormWindowState.Minimized == WindowState)
      Hide();
}

答案 1 :(得分:0)

试试这个

this.Resize +=new EventHandler(Form1_Resize);
private void Form1_Resize(object sender, EventArgs e)
{
    if (this.WindowState == FormWindowState.Minimized)
    {
        this.Hide();
    }
}

答案 2 :(得分:0)

private void ntfIcon_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button==MouseButtons.Left)
            {
                if (this.WindowState == FormWindowState.Minimized)
                {
                    this.Show();
                    this.WindowState = FormWindowState.Normal;
                }
                else
                {
                    this.WindowState = FormWindowState.Minimized;
                    this.Hide();
                }
            }
        }