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