C# Application.Exit在Application.Run之后运行';行不通
上下文:我尝试创建的应用程序最初不显示表单,只显示一个打开的文件对话框。选择文件后,应用程序可以退出或打开表单 调用application.Run()后关闭应用程序时遇到问题。下面的示例不会生成自毁的应用程序C# Application.Exit在Application.Run之后运行';行不通,c#,winforms,C#,Winforms,上下文:我尝试创建的应用程序最初不显示表单,只显示一个打开的文件对话框。选择文件后,应用程序可以退出或打开表单 调用application.Run()后关闭应用程序时遇到问题。下面的示例不会生成自毁的应用程序 static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] sta
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
var context = new Context();
Application.Run(context);
Console.Beep();
}
}
class Context : ApplicationContext
{
public Context()
{
Application.Exit();
}
}
静态类程序
{
///
///应用程序的主要入口点。
///
[状态线程]
静态void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
var context=新上下文();
运行(上下文);
Console.Beep();
}
}
类上下文:ApplicationContext
{
公共上下文()
{
Application.Exit();
}
}
另一方面,在打开表单之前,我需要做哪些准备?我是否需要调用Application.Run才能显示表单
非常感谢!XOXO
var context = new Context();
使用此语句,应用程序执行application.Exit();然后执行语句Application.Run。这可能是您可以尝试将退出逻辑移动到新方法的原因:
class Context : ApplicationContext
{
public void Exit()
{
Application.Exit();
}
}
并拥有应用程序。需要时运行调用context.Exit()
原始方法的问题在于,您将退出逻辑放置在上下文
的构造函数中,这意味着每次创建上下文
对象时,您都有可能退出程序(对于您发布的代码,这是确定的)。相反,让Context
捕获所有相关(上下文)信息,并在创建显式方法调用后根据该信息决定退出。但是在这段代码中,您在Run()
之前调用了exit()
。您是对的。那么,如何让exit调用在run调用之后运行呢?我可以向Application.Run()执行的消息循环发送exit调用吗?