如何在不退出应用程序的情况下重新启动c#应用程序
如何重新启动c#应用程序或调用如何在不退出应用程序的情况下重新启动c#应用程序,c#,windows-forms-designer,C#,Windows Forms Designer,如何重新启动c#应用程序或调用 [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new ConnectPage()); } ,而不退出程序 我已经尝试了process.Start()方法,
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new ConnectPage());
}
,而不退出程序
我已经尝试了
process.Start()
方法,但此方法会启动另一个无法再调试的进程。尝试以下方法:
[STAThread]
static void Main(
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
do{
var page = new ConnectPage();
Application.Run(page);
} while (page.SomePropertyOrMethodToKeepAnOptionToRestart);
}
请记住,这不是真正的重新启动,尤其是在静态属性或字段中存储内容时
或者,您可以按照以下方式进行操作:
System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location);
Application.Exit();
然后在Main
中添加
#if DEBUG
System.Diagnostics.Debugger.Launch();
#endif
尝试调用无法工作的
Main()
?@DDPWNAGE。大卫,“重启”是什么意思?通常重启意味着重启,我不知道如何在不退出程序的情况下重启程序。Application.Restart将重新启动它,但它将首先退出。我假设您使用的是Express Visual Studio,否则您将能够重新连接调试器。在不退出的情况下重新启动???“我需要X。嗯,我打赌在不退出的情况下重新启动应用程序将得到X!代码…代码…代码…哦,为什么它不工作?我将询问堆栈溢出…”。您需要告诉我们X是什么。对不起,这意味着下次它将进入调试模式,而不仅仅是运行应用程序exeHi,Sten Petrov。我已经尝试了第一个,未找到“page.SomePropertyOrMethodToKePanoptionToRestart”。第二个可以工作,但会要求用户选择调试器引擎,是否可以删除messagebox来询问用户有关此问题的信息?谢谢。当您确实要退出应用程序时,您需要自己定义该属性并将其值设置为false