无法使用Visual Studio 2010的Windows窗体返回设计器视图窗口

我正在使用Visual Studio Express 2010 ENU SP1编写C#Windows窗体应用程序。 进一步的VS细节在这篇文章的底部。 我最近使用设计器视图对布局进行了一些更改,然后决定我不想要更改,所以我关闭了设计器窗口。 当我关闭项目并且更改以任何方式保存时,代码窗口仍然处于运行状态。 我不关心这些变化,因为除了我找不到任何重新打开视觉设计器窗口的方法之外,布局很容易恢复。 为了让窗口恢复,我尝试了以下方法:

转F7

右键单击设计器代码窗口

双击解决方案资源管理器下的设计器文件

在解决方案资源管理器下选择设计器文件,然后使用上下文菜单调出文件

我有VS 2010团队的评估副本,它在使用我的项目时显示完全相同的行为

我已经尝试了项目的备份副本,但它在Express和Team版本中都显示了相同的问题

我已经遍布MSDN,VS论坛和整个互联网,没有找到任何解决方案

当我第一次启动项目时,我确实从解决方案资源管理器中重命名了Form1.cs文件,因为我想为应用程序创建一个与Form1不同的名称。 这样做时,它询问以下内容:

“您正在重命名文件。您是否希望在此项目中对代码元素’projectname’的所有引用执行重命名?

我回答是的。 所以现在我没有Form1.cs文件,而是一个带有“projectname.cs”的文件和名为“projectname.Design.cs”的设计器文件。这是我所做的唯一一个我能想到的可能是我确实尝试将其重命名为Form1.cs,但这也没有解决问题。

我不得不说我是使用Visual Studio的新手。 到目前为止,我非常喜欢它,但我现在已经死在水中,除非我能解决这个问题,否则我将失去两周的工作。 任何帮助将不胜感激。

谢谢,-Tom

额外细节:

Windows 7 Professional SP1 32位x86

Microsoft Visual Studio 2010版本10.0.40219.1 SP1Rel Microsoft .NET Framework版本4.0.30319 SP1Rel

已安装版本:C#Express

Microsoft Visual C#2010 01014-169-2560017-70726 Microsoft Visual C#2010

Microsoft Visual C#2010 Express – ENU Service Pack 1(KB983509)KB983509此Service Pack适用于Microsoft Visual C#2010 Express – ENU。 如果以后安装更新的Service Pack,则将自动卸载此Service Pack。

我现在意识到这是一个很老的线程,但我在VS2010的一个项目中发生了类似的事情。 无法在表单设计器中编辑表单。

最后跟踪到.csproj文件中的问题。 有一个项目组,指定编译的内容。 在项目组标签内,对于我的表单,它有……

 

它需要……

  Form  

缺少SubType XML标记。 快速更改项目文件,我可以再次编辑表单。

还有一种搞砸表单设计器的方法 – 我有这样的事情:

 namespace MyProgram { public struct SomeStruct { int a,b; } public partial class Form1 : Form { public Form1() { InitializeComponent(); } } } 

事实certificate,即使一切正常并且没有错误,也无法将SomeStruct定义放在那里。 一旦我移动它,我就能再次看到设计师的视图。

同样,这是一个旧的线程,但网络兴趣表明许多人仍然有这个问题,它还没有解决。

我正在使用VS2012,当我复制一个库控件时产生了问题,该库控件将3个表单生成到一个单独的库中以供进一步开发。 表单中的所有控件在运行时都会完美显示,但设计者显示了一个空白表单。

问题不像上面那样(完好无损)但是,由于这个提示,我添加了一个新表单并比较了.csproj文件中的条目。 对于每个复制的表单,显示类似于以下内容的条目:

  

需要的是:

  MyForm.cs  

为每个表单手动添加这些解决了这个问题。

确保在设计器分部类之前没有声明任何类。 .cs文件需要将部分设计器类作为文件中的第一个类。

 public partial class frmWidget : Form { } public class SomeClass { } 

现在SomeClass不能位于部分frmWidgetfrmWidget 。 一旦您重新安排它,它将自动修复设计器问题,无需重新启动VS或重新创建表单。 我希望这有帮助。

我遇到了同样的问题,但我的是在VS2012上将一些表单拖放到不同的文件夹中。

大卫的上述解决方案有助于修复它,但并未完全解决问题。

如果您将表单放在子文件夹中,则Compile Include行应如下所示:

  MyForm.cs  

请注意,第一行中需要子文件夹名称,但第二行不需要。

我还必须在文件的下方更改EmbeddedResource行以关联resx文件:

   MyForm.cs  

再次注意,第一行提到了子文件夹,而第二行没有提到。

尝试了这个问题中提到的所有建议,2017年Visual Studio社区没有任何效果

  • 没有Shift-F7截击
  • 没有上下文菜单项可见
  • 没有双击MainForm.cs
  • MainForm.cs中没有错误的类顺序
  • mysolutionname.csproj文件中没有错误的条目

但这对我有用

  1. 右键单击您的MainForm.cs文件(或’Form.cs’,具体取决于您的命名方式)
  2. “从项目中排除”。 这会暂时删除MainForm.csMainForm.Designer.csMainForm.resx
  3. 使用’添加»现有项’并选择MainForm.cs 。 这将重新包含所有三个文件。
    当然,您应该将它们添加回原来的文件夹
  4. 双击MainForm.cs和Design视图神奇地打开

谢谢你的想法。 我刚刚完全重新安装了VS 2010团队版本的Express和评估版本,现在它神奇地工作了。 我不知道是什么导致了这个问题,也没有解决它的问题,但我现在又回到正轨。 在问这个论坛之前我可能应该这样做。

我和VB有同样的问题。 谢谢你的提示。 我使用UserControl在.vbproj中发现了相同的问题。

我在.vbproj文件中有这个:

  

并改为:

  UserControl  

当我重新加载它时,我仍然遇到问题并意识到我在表单类之上编写了另一个类,这导致了错误。 表单类必须是第一个。 我所要做的就是让我的课程向下移动,使表格类成为最重要的一员。

我希望这有助于其他人 – 祝你好运!

ps – 我正在使用vs Community 2015

我现在意识到这是一个非常古老的线程,但我遇到了同样的问题,结果发现有另一个节点可能在csproj文件中误入歧途; 表单.resx有一个EmbeddedResource节点,我失去了子节点设计器。 这使我能够在IDE中再次看到表单代码。

我有类似的问题,但不完全一样。

我将表单从一个项目复制到另一个项目(使用Windows资源管理器),然后通过右键单击VS中的项目并选择>添加>现有项目将其添加到新项目中。

我的错误是为表单添加了所有三个文件(.cs,.designer.cs和.resx)。 我应该只添加.cs文件。

虽然这是一个很老的线程,但我想分享我的案例和解决方案。

我有同样的问题,但我使用Telerik WinForms组件为我的Form 。 在我意识到RadControls for WinForms的设计时function是在Telerik.WinControls.UI.Design.dll程序Telerik.WinControls.UI.Design.dll实现之前,我无法看到设计器。 然后我添加参考,现在设计师出现了。

我有同样的问题,我通过双击解决方案资源管理器中的Form1.cs文件(而不是Form1.Designer.cs文件)得到(设计)窗口。

我不小心删除了我的Form1 [Design]文件。 双击Form1.h文件什么也没做。 程序运行,Buttons TextBoxes和Labels都没有,只有Form1 [Design]可见才能编辑。 我修复了它:头文件选择Form1.h并转到Form1.H文件属性。 在下拉列表的文件类型下将其更改为“C ++表单”我关闭并重新启动程序。 您现在应该能够双击Form1.h并查看Form1 [design]。