在C#控制台项目中启动表单?

时间:2010-11-01 15:32:02

标签: c# .net .net-3.5 console-application

我的项目是控制台客户端。我从控制台开始,然后显示表单。我使用下面的代码显示一个空白表单(我稍后会添加控件)给用户。但是表单会显示,但它会被卡住(不活动)。我该怎么办?

Console.WriteLine("Starting form");
Console_Client.Main mainform = new Main();
mainform.Show();
Console.ReadLine();

2 个答案:

答案 0 :(得分:9)

尝试ShowDialog()

问题是你没有运行消息循环。有两种方法可以启动一种方法。 ShowDialog()有一个集成,以便工作。另一种方法是在Application.Run()调用之后或将表单作为参数使用Show()

  1. ShowDialog()

    mainform.ShowDialog();
    
  2. Application.Run()没有表格:

    mainform.Show();
    Application.Run();
    
  3. Application.Run()格式为:

    Application.Run(mainform);
    
  4. 所有这些工作。

答案 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();