top*_*eel 12 c# listviewitem winforms
我MultiSelect将listView 的属性设置为false,我正在尝试获取单个listViewItem.但可用的财产是SelectedItems.我一直在使用以下代码......
foreach (ListViewItem item in listView1.SelectedItems)
{
//do something with item.text or whatever
}
Run Code Online (Sandbox Code Playgroud)
因为我知道只会选择一个项目.这样做的正确方法是什么?
Vog*_*612 25
通常SelectedItems返回一个集合,一个数组或一个IQueryable.
无论哪种方式,您都可以通过索引访问项目与数组:
String text = listView1.SelectedItems[0].Text;
Run Code Online (Sandbox Code Playgroud)
顺便说一句,您可以随时将要查看的项目保存到a中,SelectedItems并在设置断点后在Locals中检查其结构.
gza*_*axx 11
我这样做:
if (listView1.SelectedItems.Count > 0)
{
var item = listView1.SelectedItems[0];
//rest of your logic
}
Run Code Online (Sandbox Code Playgroud)
有时仅使用下面的行会引发异常,
String text = listView1.SelectedItems[0].Text;
Run Code Online (Sandbox Code Playgroud)
所以我使用下面的代码:
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listView1.SelectedIndices.Count <= 0)
{
return;
}
int intselectedindex = listView1.SelectedIndices[0];
if (intselectedindex >= 0)
{
String text = listView1.Items[intselectedindex].Text;
//do something
//MessageBox.Show(listView1.Items[intselectedindex].Text);
}
}
Run Code Online (Sandbox Code Playgroud)