我有一个 .NET 2.0 windows 窗体应用程序,它大量使用了ListView
控件。
我已经将该类子ListView
类化为一个模板SortableListView<T>
类,因此它可以更智能地显示事物并自行排序。
不幸的是,这似乎破坏了 VS2005 和 2008 中的 Visual Studio Forms Designer。
该程序编译并运行良好,但是当我尝试在设计器中查看拥有表单时,出现以下错误:
- 找不到类型“MyApp.Controls.SortableListView”。请确保引用了包含此类型的程序集。如果此类型是您的开发项目的一部分,请确保该项目已成功构建。
没有可用于此错误的堆栈跟踪或错误行信息
- 变量“listViewImages”要么未声明,要么从未分配。
在 MyApp.Main.Designer.cs 行:XYZ 列:1
Call stack:
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error(IDesignerSerializationManager manager, String exceptionText, String helpLink)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement)
有问题的代码行是它实际添加到表单的位置,并且是
this.imagesTab.Controls.Add( this.listViewImages );
listViewImages 被声明为
private MyApp.Controls.SortableListView<Image> listViewImages;
并在方法中实例化InitializeComponent
如下:
this.listViewImages = new MyApp.Controls.SortableListView<Image>();
如前所述,程序编译和运行完美,我尝试将SortableListView
类移出单独的程序集,以便可以单独编译,但这没有什么区别。
我不知道从这里去哪里。任何帮助,将不胜感激!