我尝试使用下面的代码显示winform,但它会打开并立即关闭。 我无法理解这个的原因。任何想法?
[STAThread]
static void Main()
{
try
{
AppDomain.CurrentDomain.UnhandledException += AllUnhandledExceptions;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException);
Test testWin = new Test();
testWin.Show();
}
catch (Exception ex)
{
Logger.Error("Main : " + ex.Message, typeof(Program));
}
}
如果我用Application.Run(testWin)替换testWind.Show(),它的工作正常。
答案 0 :(得分:2)
Application.Run
运行消息循环,它基本上处理UI事件等,直到所有可见窗口都关闭。该方法将阻塞,直到消息循环关闭。
你需要运行消息循环才能保持UI,基本上 - 而Show()
只会显示窗口,但不会运行任何类型的消息循环本身,而不是阻塞 - 执行{ {1}}方法完成,应用程序终止。
答案 1 :(得分:1)
您应该使用ShowDialog
方法。
Test testWin = new Test();
testWin.ShowDialog();