在ObjectListView 2.5、SharpDevelop 4.1(Windows7)崩溃设计器中添加列

本文关键字:崩溃 添加 Windows7 ObjectListView SharpDevelop | 更新日期: 2023-09-27 18:20:51

使用设计器添加列会导致控件崩溃,并显示以下消息:

System.Exception: The control BrightIdeasSoftware.ObjectListView has thrown an unhandled exception in the designer and has been disabled.  
Exception: Unable to cast object of type 'System.Windows.Forms.ColumnHeader' to type 'BrightIdeaSoftware.OLVColumn'

我试了两台不同的笔记本电脑。在这两台机器上,它与VS2010配合良好,但在#D 中使设计者崩溃

然后,我在linux盒子中使用VirtualBox重新安装了windows7、.net4、sdk和OLV,得到了相同的结果。

在谷歌上找不到有用的信息,所以我很感激你的帮助。

在ObjectListView 2.5、SharpDevelop 4.1(Windows7)崩溃设计器中添加列

您只需进入设计器代码,将列类型从System.Windows.forms.column更改为新的BrightIdeas.OLVColumn,并确保您的列也声明为这样的列-之后您就可以编辑这些列。

这是一个错误。SharpDevelop没有使用ObjectListView程序集包含的自定义列集合编辑器。相反,它默认为用于标准System.Windows.Forms.ListView.的列集合编辑器

我在c#中遇到了同样的问题。我使用SharpDevelop 4.3.3和c#4。我刚刚解决了以下步骤:

  • 在表单中添加对象列表视图(即objectListView1)
  • 在不使用列编辑器的情况下,直接以…的形式添加olvColumns(即olvColumn1、olvColumn2等)
  • 在窗体的InitializeComponent方法(在窗体的构造函数中调用)中,初始化olvColumns后,在代码后面添加对象列表视图和列之间的链接
[…]////olv第4列//this.olvColumn4.CellPadding=null;//初始化olvColumns之后objectListView1.Columns.Add(olv第1列);objectListView1.Columns.Add(olvColumn2);objectListView1.Columns.Add(olvColumn3);objectListView1.Columns.Add(olvColumn4);[…]

完成这些操作后,您可以在设计模式下重新打开窗体,并检查objectlistview列:您将看到有您创建的列。