0

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

我打算用它来更新显示完整条目信息,但我无法获得所选项目的值。我在其他地方阅读,看到有人提到 .SelectedIndex 属性,但是当我尝试编码时,这个属性对我不可用。

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

有人可以帮忙吗?

4

5 回答 5

2

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

于 2011-06-14T11:32:49.773 回答
0

you should use the SelectedItem property and Tag property

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

tag property allow you to set any type for example MyClass when you populate the ListView set the Tag property.

于 2011-06-14T11:34:42.000 回答
0

For ListView check SelectedItems

于 2011-06-14T11:34:52.290 回答
0

You could trap the SelectedIndexChanged event and in that you could do

ListView.SelectedListViewItemCollection listItems= 
            this.myListView.SelectedItems;

        foreach ( ListViewItem item in listItems)
        {
            MessageBox.Show(item.SubItems[0].Text);
            MessageBox.Show(item.SubItems[1].Text);
        }
于 2011-06-14T11:34:56.107 回答
0

我已经解决了这个问题。在与我的软件课上的一位朋友交谈后,他告诉我使用listView1.FocusedItem.Index,它非常适合我的需求,因为它可以获得所选项目的索引。另外,感谢大家为帮助我提供的意见。

于 2011-06-15T05:10:10.093 回答