回覆列表
  • 1 # 錢布斯

    1、如果不想讓程式在工作列中顯示,請把窗體的屬性ShowInTaskbar設定為false;

    2、如果想讓程式啟動時就最小化,請設定窗體的屬性WindowState設定為Minimized。(Minimized 最小化,Normal正常啟動,Maximized最大化)

    3、拉一個NotifyIcon控制元件notifyIcon,為控制元件notifyIcon的屬性Icon新增一個icon圖示。

    4、可以為NotifyIcon加一個ContextMenuStrip右鍵選單menu_Notify。

    6、主要程式碼:

    #region 私有方法 處理窗體的 顯示 隱藏 關閉(退出)

    private void ExitMainForm()

    {

    if (MessageBox.Show("您確定要退出化驗資料接收程式嗎?", "確認退出", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)

    {

    this.notifyIcon.Visible = false;

    this.Close();

    this.Dispose();

    Application.Exit();

    }

    }

    private void HideMainForm()

    {

    this.Hide();

    }

    private void ShowMainForm()

    {

    this.Show();

    this.WindowState = FormWindowState.Normal;

    this.Activate();

    }

    #endregion#region 右鍵選單處理,顯示 隱藏 退出

    private void menuItem_Show_Click(object sender, EventArgs e)

    {

    ShowMainForm();

    }

    private void menuItem_Hide_Click(object sender, EventArgs e)

    {

    HideMainForm();

    }

    private void menuItem_Exit_Click(object sender, EventArgs e)

    {

    ExitMainForm();

    }

    #endregion#region 雙擊托盤上圖示時,顯示窗體

    private void notifyIcon_DoubleClick(object sender, EventArgs e)

    {

    if (this.WindowState == FormWindowState.Normal)

    {

    this.WindowState = FormWindowState.Minimized;

    HideMainForm();

    }

    else if(this.WindowState == FormWindowState.Minimized)

    {

    ShowMainForm();

    }

    }

    #endregion

    private void frmMain_SizeChanged(object sender, EventArgs e)

    {

    if (this.WindowState == FormWindowState.Minimized)

    {

    HideMainForm();

    }

    }

    #endregion

    #region 窗體關閉時最小化到托盤

    private void frmMain_FormClosing(object sender, FormClosingEventArgs e)

    {

    e.Cancel = true;

    HideMainForm();

    }

    #endregion

  • 中秋節和大豐收的關聯?
  • 可以用玫瑰花做哪些美食?