.NET:Windows窗体+;控制台/防止关闭

.NET:Windows窗体+;控制台/防止关闭,.net,forms,console,.net,Forms,Console,我有一个Windows窗体应用程序,它使用AllocConsole打开一个控制台。它工作正常,但问题是当我通过单击“X”按钮关闭控制台时,整个应用程序也会退出,但我希望只有控制台窗口会关闭,应用程序会像往常一样继续。有什么方法可以做到这一点吗?有一种方法可以通过编程方式隐藏您分配的窗口-使用FreeConsole alloc’d控制台上的X按钮的工作原理与WinForm上的X按钮类似——我猜它会触发Form_Closing()事件 在事件处理程序中需要一些逻辑来决定是否实际关闭表单。一种可能性是

我有一个Windows窗体应用程序,它使用AllocConsole打开一个控制台。它工作正常,但问题是当我通过单击“X”按钮关闭控制台时,整个应用程序也会退出,但我希望只有控制台窗口会关闭,应用程序会像往常一样继续。有什么方法可以做到这一点吗?

有一种方法可以通过编程方式隐藏您分配的窗口-使用FreeConsole

alloc’d控制台上的X按钮的工作原理与WinForm上的X按钮类似——我猜它会触发Form_Closing()事件

在事件处理程序中需要一些逻辑来决定是否实际关闭表单。一种可能性是:抓住鼠标位置,看看它是否在窗体的边界框内。如果是,则断定表单的X已被单击,并关闭应用程序。如果鼠标不在表单中,则断定已单击console X,并调用FreeConsole


我还没试过这个

不起作用。控制台窗口不会触发Form_Closing事件。我也尝试了Application.ApplicationExit事件,但无法取消该事件。您到底想做什么?可以以这种方式打开的控制台非常简单,我一直认为它对诊断或调试非常有用。这真的是你想在应用程序的UI中公开的东西吗?