C# 如何设置在VS2010中启动Windows窗体应用程序时加载的窗体?(将启动对象设置为无效)

C# 如何设置在VS2010中启动Windows窗体应用程序时加载的窗体?(将启动对象设置为无效),c#,visual-studio-2010,C#,Visual Studio 2010,我已经读过了,我准备在这一点上下注 我正在VS2010的一个C#项目中工作。在我正在使用的解决方案中,我有两个类文件/dll和一个名为“TradingApp”的windows窗体项目。表单项目有一个表单,一个主表单。其中一个类文件中还有一个表单。我希望TradingApp中的主表单是启动表单。我已将解决方案中的启动项目设置为我的应用程序,并已将TradingApp启动对象设置为“TradingApp.Program”。我还按名称调用我的表单:Application.Run(new frmTrad

我已经读过了,我准备在这一点上下注

我正在VS2010的一个C#项目中工作。在我正在使用的解决方案中,我有两个类文件/dll和一个名为“TradingApp”的windows窗体项目。表单项目有一个表单,一个主表单。其中一个类文件中还有一个表单。我希望TradingApp中的主表单是启动表单。我已将解决方案中的启动项目设置为我的应用程序,并已将TradingApp启动对象设置为“TradingApp.Program”。我还按名称调用我的表单:
Application.Run(new frmTradingAppMain())来自Main()。(我没有将我的表单名作为选项)。当我运行该程序时,似乎正在加载类库中另一个窗体的空白版本

我已经不知所措了,还有你的仁慈。先谢谢你

凯文

以下是按要求提供的主要信息:

static void Main()
{
  Application.EnableVisualStyles();
  Application.SetCompatibleTextRenderingDefault(false);
  Application.Run(new frmTradingAppMain());
}
更新:当然是鼻子上的东西。。。我(不知怎的)失踪了:

public frmTradingAppMain()
{
    InitializeComponent();
}
再次感谢你的帮助

(我没有将我的表单名作为选项)

从这句话中,我想知道您是否使用正确的名称空间包含或调用表单。在我看来,Main()的名称空间与您想要显示的表单(frmTradingAppMain)不同。检查名称空间的frmTradingAppMain cs文件,并尝试将其添加到formname之前

因此,例如,如果表单位于名称空间TradingApp中,则frmTradingAppMain.cs文件可能会以如下方式启动:

namespace TradingApp
{
   public partial class frmTradingAppMain
   { 
      ...
   }
}
 static void Main()
 {
   Application.EnableVisualStyles();
   Application.SetCompatibleTextRenderingDefault(false);
   Application.Run(new TradingApp.frmTradingAppMain());
 }
那么从main开始,你可以尝试这样开始:

namespace TradingApp
{
   public partial class frmTradingAppMain
   { 
      ...
   }
}
 static void Main()
 {
   Application.EnableVisualStyles();
   Application.SetCompatibleTextRenderingDefault(false);
   Application.Run(new TradingApp.frmTradingAppMain());
 }
(我没有将我的表单名作为选项)

从这句话中,我想知道您是否使用正确的名称空间包含或调用表单。在我看来,Main()的名称空间与您想要显示的表单(frmTradingAppMain)不同。检查名称空间的frmTradingAppMain cs文件,并尝试将其添加到formname之前

因此,例如,如果表单位于名称空间TradingApp中,则frmTradingAppMain.cs文件可能会以如下方式启动:

namespace TradingApp
{
   public partial class frmTradingAppMain
   { 
      ...
   }
}
 static void Main()
 {
   Application.EnableVisualStyles();
   Application.SetCompatibleTextRenderingDefault(false);
   Application.Run(new TradingApp.frmTradingAppMain());
 }
那么从main开始,你可以尝试这样开始:

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

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

例如:

Application.Run(new MyForm()); 

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

例如:

Application.Run(new MyForm()); 

你能在这里发布Main函数吗?你的
frmTradingAppMain
表单不会加载另一个表单,也不会隐藏自己?类库中的窗体无法加载自身,如果未定义相关入口点,则无法将程序集设置为启动对象。另外,调试器说发生了什么?当然,它在下面。顺便说一句,它看起来只是另一种形式。。。它是空的,另一个窗体有控件。但是大小相同。请检查frmTradingAppMain中的OnLoad()重写或frmTradingAppMain\u Load()方法,可能您正在打开另一个表单。也检查构造函数。还向我们展示您的程序.Main()。尝试在两个窗体上放置调试中断符,看看是谁在调用它。您能在此处发布Main函数吗?您的
frmTradingAppMain
窗体不会加载另一个窗体并隐藏自己,有可能吗?类库中的窗体无法加载自身,如果未定义相关入口点,则无法将程序集设置为启动对象。另外,调试器说发生了什么?当然,它在下面。顺便说一句,它看起来只是另一种形式。。。它是空的,另一个窗体有控件。但是大小相同。请检查frmTradingAppMain中的OnLoad()重写或frmTradingAppMain\u Load()方法,可能您正在打开另一个表单。也检查构造函数。同时向我们展示您的程序.Main()。尝试在两个窗体上都放置调试中断器,看看是谁在调用它。谢谢,也许有些东西我在这里没有看到。。。Main()位于Program.cs文件中TradingApp命名空间中的静态类“Program”中。我的TradingApp.cs文件中有两个名称空间,其中有各种类定义。我的frmTradingAppMain表单位于TradingApp名称空间的相应文件中。我敢肯定这是显而易见的!还有其他人吗?再次感谢…谢谢,也许有些东西我没看到。。。Main()位于Program.cs文件中TradingApp命名空间中的静态类“Program”中。我的TradingApp.cs文件中有两个名称空间,其中有各种类定义。我的frmTradingAppMain表单位于TradingApp名称空间的相应文件中。我敢肯定这是显而易见的!还有其他人吗?再次感谢。。。