我以通常的方式开始我的表格:
Application.Run(new MainForm());
我希望它打开并运行到某个时间,然后关闭。我尝试了以下但无济于事:
(1) 在 Main 方法中(Application.Run() 语句是),我在 Application.Run() 之后输入以下内容
while (DateTime.Now < Configs.EndService) { }
结果:它永远不会被击中。
(2) 在 Application.Run() 之前我启动了一个新的后台线程:
var thread = new Thread(() => EndServiceThread()) { IsBackground = true };
thread.Start();
其中 EndServiceThread 是:
public static void EndServiceThread()
{
while (DateTime.Now < Configs.EndService) { }
Environment.Exit(0);
}
结果:vshost32.exe 已停止工作崩溃。
(3) 在 MainForm Tick 事件中:
if (DateTime.Now > Configs.EndService)
{
this.Close();
//Environment.Exit(0);
}
结果:vshost32.exe 已停止工作崩溃。
实现我的目标的正确方法是什么?同样,我想启动表单,让它打开并运行到某个时间(Configs.EndService),然后关闭。
谢谢你,本。