WinForm类作为类而不是设计模式打开

时间:2014-04-09 12:57:45

标签: c# winforms visual-studio-2013 windows-forms-designer

我正在研究一个WinForm,并且由于一个不可知的原因,我不能再以设计模式打开它,任何(只有那个特定的形式)。反正告诉Visual Studio 2013它是WinForm而不是Class?

enter image description here

6 个答案:

答案 0 :(得分:3)

您可以“卸载”项目,然后编辑.csproj文件。搜索.cs文件,并插入SubType节点... <Compile Include="Scraper.cs"><SubType>Component</SubType></Compile>。保存.csproj并重新加载项目。

答案 1 :(得分:2)

对我来说,我有一个在分类之前定义的类,即:

var now = new Date();
var then = new Date("2015-08-15T21:31:06");
console.log((now - then)/1000/60/60/24);

在MyForm修复问题后定义MyClass。

答案 2 :(得分:0)

在解决方案资源管理器中右键单击您的文件,“打开方式...”并在列表中重新选择设计器。也许?或者也许您的Designer.cs文件存在问题,或者上面的回复者提到的某种方式已损坏。

答案 3 :(得分:0)

如果在表单类之后删除表继承,则会遇到描述的行为

 public partial class MyMainForm : Form
 {

 }

这里,如果从基础Form类中删除继承,当您在解决方案资源管理器中双击表单名称时Visual Studio将显示您的表单代码而不是设计器

答案 4 :(得分:0)

确保您的命名空间与表单类StateRuleDetailTriggerForm.cs及其设计器类StateRuleDetailTriggerForm.Designer.cs匹配。

答案 5 :(得分:0)

当我为表单做了一些基类并在生成的表单中手动更改它时,我也发生了同样的情况。

解决方案是添加

[System.ComponentModel.DesignerCategory("Form")]

属性到基类定义。

P.S。:同样的方式,你可以使用

[System.ComponentModel.DesignerCategory("Code")]

如果你想让一些自己的派生控件永远不会在设计器中打开,就像它是一个用户conhtrol一样。