【问题标题】:How do I set the form that loads on startup of my Windows Forms application in VS2010? (Setting startup object to no avail)如何在 VS2010 中设置我的 Windows Forms 应用程序启动时加载的表单? (设置启动对象无效)
【发布时间】:2011-11-08 19:08:17
【问题描述】:

我已经阅读了这方面的内容,现在我已经准备好下注了。

我正在 VS2010 中开发一个 C# 项目。在我正在使用的解决方案中,我有两个类文件/dll,以及一个名为“TradingApp”的 Windows 窗体项目。表单项目有一个表单,一个主表单。其中一个类文件中还有一个表格。我希望 TradingApp 中的主窗体是启动窗体。我已将解决方案中的启动项目设置为我的应用程序,并将 TradingApp 启动对象设置为“TradingApp.Program”。我也这样称呼我的表单:Application.Run(new frmTradingAppMain()); from Main()。 (我没有看到我的表单名称作为选项)。当我运行程序时,我的类库中的 other 表单的空白版本似乎正在加载。

我已经不知所措了,你的怜悯。提前谢谢...

凯文

这里是主要的要求:

static void Main()
{
  Application.EnableVisualStyles();
  Application.SetCompatibleTextRenderingDefault(false);
  Application.Run(new frmTradingAppMain());
}

更新:当然它必须是鼻子上的东西......我(不知何故)失踪了:

public frmTradingAppMain()
{
    InitializeComponent();
}

再次感谢您的帮助。

【问题讨论】:

  • 你可以在这里发布主要功能吗?
  • 您的frmTradingAppMain 表单不会加载其他表单并隐藏自己,是否有任何机会?类库中的表单无法加载自身,如果未定义相关入口点,则程序集无法设置为启动对象。另外,调试器说发生了什么?
  • 当然,在下面。顺便说一句,它看起来好像是另一个表单......它是空白的,另一个表单有控件。但是大小是一样的。
  • 检查 frmTradingAppMain 中的 OnLoad() 覆盖或 frmTradingAppMain_Load() 方法,也许您正在那里打开另一个表单。也检查构造函数。同时向我们展示您的 Program.Main()。
  • 尝试在两个表单上都设置调试断路器,看看是谁在调用它。

标签: c# visual-studio-2010


【解决方案1】:

请转到Program.cs,将Application.run()中的表单名称更改为您想要的启动名称。

例如:

Application.Run(new MyForm()); 

【讨论】:

    【解决方案2】:

    (我没有看到我的表单名称作为选项)

    从这个声明中,我不得不怀疑您是否正在使用正确的命名空间来包含或调用您的表单。在我看来,Main() 与您要显示的表单 (frmTradingAppMain) 位于不同的命名空间中。检查命名空间的 frmTradingAppMain cs 文件并尝试在表单名之前添加它。

    例如,如果您的表单位于命名空间 TradingApp 中,则 frmTradingAppMain.cs 文件可能会像这样开始:

    namespace TradingApp
    {
       public partial class frmTradingAppMain
       { 
          ...
       }
    }
    

    那么从 main 开始,你会尝试这样启动它:

     static void Main()
     {
       Application.EnableVisualStyles();
       Application.SetCompatibleTextRenderingDefault(false);
       Application.Run(new TradingApp.frmTradingAppMain());
     }
    

    【讨论】:

    • 谢谢,也许我在这里没有看到一些东西...... Main() 在一个静态类“Program”中,在 TradingApp 命名空间中,在 Program.cs 文件中。我的 TradingApp.cs 文件中有两个命名空间,其中我有各种类定义。我的 frmTradingAppMain 表单位于 TradingApp 命名空间中,在其各自的文件中。我敢肯定它在鼻子上很明显!还有人接盘吗?再次感谢...
    猜你喜欢
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 2020-02-13
    • 1970-01-01
    • 2017-06-24
    • 2014-05-30
    相关资源
    最近更新 更多