不积跬步,无以至千里;不积小流,无以成江海

Our practice

不积跬步,无以至千里;不积小流,无以成江海

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

  错误提示如下:
类 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,对于开发人员来讲,自己还得注意点。

posted on 2008-04-30 16:50  英怀  阅读(6245)  评论(3编辑  收藏  举报