/// <summary>
/// 关闭前事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void frmBOL_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
this.CloseWindow(); //不彻底关闭。只是Hide()
          e.Cancel = true;
}

解决方案 »

  1.   

    static void Main()
    {
      (new Form1()).Show();
      Application.Run(); // 启动独立的应用程序线程
    }
      

  2.   

    /// <summary>
    /// 关闭前事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void frmBOL_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
      if(MessageBox.Show("是否关闭","提示",MessageBoxButtons.YesNo)==DialogResult.No)
              e.Cancel = true;
    }
    这样行了吧。
      

  3.   

    手工重写form 的 closing事件
      

  4.   

    private void Frm_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
      DialogResult dr=MessageBox.Show("确定关闭?","提示",MessageBoxButtons.OKCancel);
      e.Cancel=(dr!=DialogResult.OK);
    }