【发布时间】:2010-09-05 18:38:29
【问题描述】:
我有一个 .NET 2.0 Windows 窗体应用程序,它大量使用了 ListView 控件。
我已将 ListView 类子类化为模板化的 SortableListView<T> 类,因此它可以更智能地显示事物并自行排序。
不幸的是,这似乎破坏了 VS2005 和 2008 中的 Visual Studio 窗体设计器。
程序编译并运行良好,但是当我尝试在设计器中查看拥有表单时,出现以下错误:
- 找不到类型“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 类移出一个单独的程序集,以便可以单独编译,但这没有区别。
我不知道从这里去哪里。任何帮助将不胜感激!
【问题讨论】:
标签: c# .net winforms visual-studio-2008 visual-studio-2005