帮助C#中的listView和.SelectedItem

时间:2011-06-14 11:29:15

标签: c# winforms listview selectedindex

在我的winform(C#)中,我有listView有两列,用于显示搜索数组的结果,这是数组条目的基本细节(数组中的所有数据都是字符串类型)。我可以在列表视图中添加和删除项目,但我希望能够获得列表视图中单击的行的值。

我打算用它来更新显示器的完整输入信息,但我无法获得所选项目的值。我正在其他地方阅读并看到有人提到.SelectedIndex属性,但是当我尝试编码时,我无法使用此属性。

我可以使用两个列表框而不是列表视图,但列表视图更整洁。另外,我是一名软件设计(高中)学生,并且已经学习了一年半的C#。我有能力编程,但是当事情开始变得非常复杂时,我开始迷失方向。

有人可以帮忙吗?

5 个答案:

答案 0 :(得分:2)

如果ListView不在VirtualData模式下,ListView.SelectedItems属性可以正常工作。

答案 1 :(得分:0)

您应该使用SelectedItem属性和Tag属性

var item = (MyClass)  listView1.SelectedItems[0].Tag;

tag属性允许您设置任何类型,例如MyClass 填充ListView时设置Tag属性。

答案 2 :(得分:0)

ListView检查SelectedItems

答案 3 :(得分:0)

您可以捕获SelectedIndexChanged事件并且可以执行

ListView.SelectedListViewItemCollection listItems= 
            this.myListView.SelectedItems;

        foreach ( ListViewItem item in listItems)
        {
            MessageBox.Show(item.SubItems[0].Text);
            MessageBox.Show(item.SubItems[1].Text);
        }

答案 4 :(得分:0)

我已经解决了这个问题。在我的软件类中与朋友交谈后,他告诉我使用listView1.FocusedItem.Index,它完全符合我的需要,因为它获得了所选项目的索引。另外,感谢大家在尝试帮助我时提供的意见。