错误提示如下:
类 TreeMenuView 可以进行设计,但不是文件中的第一个类。Visual Studio 要求设计器使用文件中的第一个类。移动类代码使之成为文件中的第一个类,然后尝试重新加载设计器。
隐藏
在 System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(IDesignerSerializationManager manager)
在 System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
在 Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
在 System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost host)
原因:
错误的代码:如下图
正确的代码:如下图(就是把这两个方法的位置换一下就OK)
经过对比你会发现,两段代码的唯一的不同就是两个类所处的位置正好相反。这时,可能得出这样的结论,对于VS.2005来说,为了编程的方便,将TreeModulView后置代码以关键字partial被分别放在两个文件当中,它们 两个是一个整体,一个类。所以VS.2005在加载窗体设计器的时候就会自动的去匹配TreeModulView.cs窗体中的第一个类,所以如果你把第一个类的位置占用的话,VS.2005在加载窗体设计器就会欲匹配它,因为它们两个不匹配,所以就会出现上述那样的错误。
有人说这一点可能是VS2005的bug,对于开发人员来讲,自己还得注意点。