c# - ObjectListView 转换异常(用于 HitTest )

标签 c# .net vb.net winforms objectlistview

我正在使用 Grammarian 的 ObjectListView。我将旧的 ListView 更改为那个,但我所做的只是填写项目。但是当应用程序启动并且我的鼠标悬停在 ListView 上时,它会立即抛出异常:

System.InvalidCastException was unhandled
  Message="Unable to cast object of type 'System.Windows.Forms.ListViewItem' to type 'BrightIdeasSoftware.OLVListItem'."
  Source="ObjectListView"

如何解决这个问题?

如果这很重要,我也会使用 Win7。

编辑:

我用字典。看起来我需要使用 SetObjects 方法而不是添加项目。

好的,这很好,但我只是在使用 dict.Value 集合。我不想通过listview修改数据,只显示。所以我只有 1 列并列出所有字符串。这可能吗?

我将不胜感激。

最佳答案

您是对的 - 您应该使用 SetObjects() 方法而不是添加 ListViewItems。在 ObjectListView 中,永远不应有 ListViewItems。 该控件会跟踪更多信息,因此需要比 ListViewItems 提供的更多的信息。

您可能想阅读 Getting Started网站页面,尤其是 Unlearn you must部分。

ObjectListView 确实有它的 own forum , 如果您想在那里提问。

关于c# - ObjectListView 转换异常(用于 HitTest ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1621545/

相关文章:

c# - 从一个基类继承两个类给出错误 3024

c# - 在 C# 中拆分一个 6 位整数

.net - Unity 框架 DependencyAttribute 仅适用于公共(public)属性?

c# - 在 C# 中确定正版 Windows 安装

c# - 在 VS2013 中的项目之间共享设置文件

c# - 客户端和服务器端的 Asp.net C# 加密/解密

c# - 如何确定 Visual Studio 主题颜色何时更改?

vb.net - 从内容页面从 MasterPage 调用 Sub

c# - 从后台工作人员登录MyLogger时发生跨线程InvalidOperationException

c# - 向 MS 语言团队建议语言改进的最佳地点在哪里?