1

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

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'

我尝试了 2 台不同的笔记本电脑。在两台机器上,它都可以在 VS2010 上正常工作,但会使设计器在#D 中崩溃

然后我在一个 Linux 机器中使用 VirtualBox 重新安装了 windows7、.net4、sdk 和 OLV,结果相同。

在 Google 中找不到有用的信息,因此我感谢您对此提供的任何帮助。

4

3 回答 3

1

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

于 2014-01-21T17:25:22.953 回答
0

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

于 2012-01-21T18:06:55.587 回答
0

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

  • 在表单中添加对象列表视图(即objectListView1)
  • 直接在表单中添加 olvColumns(即 olvColumn1、olvColumn2 等...),无需使用列编辑器。
  • 在表单的InitializeComponent方法中(即在表单的构造函数中调用),在olvColumns初始化后,在代码后面添加对象列表视图和列的链接
    [...]
    //
    // olvColumn4
    //
    this.olvColumn4.CellPadding = null;

    // 在 olvColumns 初始化之后

    objectListView1.Columns.Add(olvColumn1);
    objectListView1.Columns.Add(olvColumn2);
    objectListView1.Columns.Add(olvColumn3);
    objectListView1.Columns.Add(olvColumn4);

    [...]

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

于 2013-10-28T22:02:05.743 回答