无法在Visual Studio 2012(VB.NET)中设置启动窗体
好的,在VisualStudio2012中,我有一个VB.NET项目,最初有两个表单。Form1最初被设置为启动表单,后来被废弃。Form2是一个几乎完全相同的表单,具有所有新的理想功能 在我的项目设置中,Form2不会显示为启动窗体的可用选项。(虽然它是一个通常创建的表单,继承了表单)经过一些“疑难解答”后,表单1被删除,导致“启用应用程序框架”选项被禁用,并且没有可用的启动对象。当我从“启动对象”下拉列表中选择Sub-Main或Form2时,我会收到一条错误消息,分别指出“Sub-Main未在解决方案中找到”或“Form2是解决方案中的一种类型,不能用作表达式”。如果我尝试启用“启用应用程序框架”,我会收到一个错误弹出窗口,说明“选中“启用应用程序框架”时启动对象必须是表单。”并且Application.Designer.vb为空 我尝试过的一些事情:无法在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未
- 清洁和重建解决方案
- 重新启动Visual Studio
- 暂时删除Form1(仍从项目中排除)
- 根据Neolisk的建议,添加了一个新表单。它出现在可用对象中。我选择了它并打开了应用程序框架。从这里,我将初始化代码从Form2的设计器代码复制到Form3的设计器代码中。一切都很好。然后,我将Form2的主代码复制到Form3中。现在,“Form3是解决方案中的一种类型,不能用作表达式”出现在我的错误列表中
话虽如此,我的问题是如何让Visual Studio将我的表单识别为表单并将Form2设置为启动对象?找到了它!问题是表单的构造函数以表单作为参数而过载。因为这是文件中唯一的构造函数,我想这会引起混乱。评论说,我们的世界又恢复了正常。在表单2中的
new()
函数中添加InitializeComponent()
有时您的类名与表单文件名不同
检查是否列出了类名。尝试添加新表单,查看它是否出现在列表中。尝试在VS 2013中打开您的解决方案,看看它是否有效。如果您没有完整的,请获取Express。是的,@Fathy,我认为问题在于重复构造函数中没有
InitializeComponent()
。我删除了空的构造函数,它成功了。我认为你的回答比我的回答更准确。