Windows应用程序关闭或退出时的C#

时间:2012-03-21 10:15:35

标签: c# winforms exit

当我点击X(右上角的Windows关闭按钮)时,application.exitthis.close是否隐式运行?

因为每次我更改程序并编译它时都无法编译,因为它正被另一个进程使用,所以每次在Windows任务管理器上都要杀掉它。

因此,我认为我的应用程序并没有真正关闭/退出。

namespace FrontEnd_Offline
{
    public partial class Main_Usr : Form
    {
        public Main_Usr()
        {
            InitializeComponent();
            this.IsMdiContainer = true;
        }

        private void barButtonItem_CreateOrdre_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {

        }

        private void barButtonItem_OrdreListe_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            Ordre_Liste f = new Ordre_Liste();
            f.MdiParent = this;

            f.Show();
        }
    }
}

2 个答案:

答案 0 :(得分:3)

这是有条件的,但这不是问题。您的所有表单都已处理完毕,但您的代码并未停止运行。常见的原因是:

  • 启动一个线程而不将其IsBackground属性设置为true,并且在主窗体关闭时不确保线程终止。
  • 在代码中使用Application.DoEvents()。

您可以使用Debug + Break All,然后使用Debug + Windows + Threads查看仍在运行的代码。这里显示的一些线程不是你的线程所以避免追逐那些没有显示良好堆栈跟踪的线程。

答案 1 :(得分:0)

您尝试调用base.dispose(true)方法完全退出应用程序。您可以将此代码写入关闭按钮的事件中。即使它可能不被认为是最好的编程实践。