日期:2014-05-18 浏览次数:20999 次
        private void Form1_Load(object sender, EventArgs e)
        {
            // 任务栏显示小图标
            this.notifyIcon1.ShowBalloonTip(1, "系统提示", "程序正在运行~~~", ToolTipIcon.Info);
        }
        private void HideMainForm()
        {
            this.Hide();
        }
        private void ShowMainForm()
        {
            this.Show();
            this.WindowState = FormWindowState.Normal;
            this.Activate();
        }
        private void ExitMainForm()
        {
            if (MessageBox.Show("您确定要退出化验数据接收程序吗?", "确认退出", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)
            {
                this.notifyIcon1.Visible = false;
                this.Close();
                this.Dispose();
                Application.Exit();
            }
        }
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            e.Cancel = true;
            HideMainForm();
        }
        private void notifyIcon1_DoubleClick(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Normal)
            {
                this.WindowState = FormWindowState.Minimized;
                HideMainForm();
            }
            else if (this.WindowState == FormWindowState.Minimized)
            {
                //this.WindowState = FormWindowState.Normal;
                ShowMainForm();
            }
        }
        private void Form1_SizeChanged(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {
                HideMainForm();
            }
        }
        private void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ShowMainForm();
        }
        private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ExitMainForm();
        }
        private void Form1_SizeChanged(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {
                HideMainForm();
            }
        }
------解决方案--------------------
把notifyIcon1_DoubleClick这里的HideMainForm()去掉,
因为你double之后会触发sizechanged事件。change事件又调用了一次hide
------解决方案--------------------
加这句话 this.WindowState = FormWindowState.Minimized;
[code = c#]private void Form1_FormClosing(object sender, FormClosingEventArgs e)
       {
           e.Cancel = true;
           this.WindowState = FormWindowState.Minimized;
           HideMainForm();
          
       }[/code]