Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Visual Studio 2012(VB.NET)中设置启动窗体_Vb.net_Visual Studio_Visual Studio 2012 - Fatal编程技术网

无法在Visual Studio 2012(VB.NET)中设置启动窗体

无法在Visual Studio 2012(VB.NET)中设置启动窗体,vb.net,visual-studio,visual-studio-2012,Vb.net,Visual Studio,Visual Studio 2012,好的,在VisualStudio2012中,我有一个VB.NET项目,最初有两个表单。Form1最初被设置为启动表单,后来被废弃。Form2是一个几乎完全相同的表单,具有所有新的理想功能 在我的项目设置中,Form2不会显示为启动窗体的可用选项。(虽然它是一个通常创建的表单,继承了表单)经过一些“疑难解答”后,表单1被删除,导致“启用应用程序框架”选项被禁用,并且没有可用的启动对象。当我从“启动对象”下拉列表中选择Sub-Main或Form2时,我会收到一条错误消息,分别指出“Sub-Main未

好的,在VisualStudio2012中,我有一个VB.NET项目,最初有两个表单。Form1最初被设置为启动表单,后来被废弃。Form2是一个几乎完全相同的表单,具有所有新的理想功能

在我的项目设置中,Form2不会显示为启动窗体的可用选项。(虽然它是一个通常创建的表单,继承了表单)经过一些“疑难解答”后,表单1被删除,导致“启用应用程序框架”选项被禁用,并且没有可用的启动对象。当我从“启动对象”下拉列表中选择Sub-Main或Form2时,我会收到一条错误消息,分别指出“Sub-Main未在解决方案中找到”或“Form2是解决方案中的一种类型,不能用作表达式”。如果我尝试启用“启用应用程序框架”,我会收到一个错误弹出窗口,说明“选中“启用应用程序框架”时启动对象必须是表单。”并且Application.Designer.vb为空

我尝试过的一些事情:

  • 清洁和重建解决方案
  • 重新启动Visual Studio
  • 暂时删除Form1(仍从项目中排除)
  • 根据Neolisk的建议,添加了一个新表单。它出现在可用对象中。我选择了它并打开了应用程序框架。从这里,我将初始化代码从Form2的设计器代码复制到Form3的设计器代码中。一切都很好。然后,我将Form2的主代码复制到Form3中。现在,“Form3是解决方案中的一种类型,不能用作表达式”出现在我的错误列表中

话虽如此,我的问题是如何让Visual Studio将我的表单识别为表单并将Form2设置为启动对象?

找到了它!问题是表单的构造函数以表单作为参数而过载。因为这是文件中唯一的构造函数,我想这会引起混乱。评论说,我们的世界又恢复了正常。

在表单2中的
new()
函数中添加
InitializeComponent()
有时您的类名与表单文件名不同


检查是否列出了类名。

尝试添加新表单,查看它是否出现在列表中。尝试在VS 2013中打开您的解决方案,看看它是否有效。如果您没有完整的,请获取Express。是的,@Fathy,我认为问题在于重复构造函数中没有
InitializeComponent()
。我删除了空的构造函数,它成功了。我认为你的回答比我的回答更准确。