我的项目是控制台客户端。我从控制台开始,然后显示表单。我使用下面的代码显示一个空白表单(我稍后会添加控件)给用户。但是表单会显示,但它会被卡住(不活动)。我该怎么办?
Console.WriteLine("Starting form");
Console_Client.Main mainform = new Main();
mainform.Show();
Console.ReadLine();
答案 0 :(得分:9)
尝试ShowDialog()
。
问题是你没有运行消息循环。有两种方法可以启动一种方法。 ShowDialog()
有一个集成,以便工作。另一种方法是在Application.Run()
调用之后或将表单作为参数使用Show()
。
ShowDialog()
:
mainform.ShowDialog();
Application.Run()
没有表格:
mainform.Show();
Application.Run();
Application.Run()
格式为:
Application.Run(mainform);
所有这些工作。
答案 1 :(得分:5)
您需要启动一个完整的应用程序,就像Windows窗体应用程序通常那样:
Console.WriteLine("Starting form");
Console_Client.Main mainform = new Main();
// This will start the message loop, and show the mainform...
Application.Run(mainform);
// This won't occur until the form is closed, so is likely no longer required.
// Console.ReadLine();