錯誤提示如下:
類 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,對於開發人員來講,自己還得注意點。