使用鼠标单击事件获取ListViewItem文本

时间:2014-12-04 07:39:38

标签: c# winforms listview

我想使用listview用数据填充它,然后使用mouseclick事件用数据填充一些文本框。我在msdn中查了一个例子:

ListViewItem theClickedOne = listView1.GetItemAt(e.X, e.Y);
ListViewItem theClickedtwo = listView1.FocusedItem;
if (theClickedOne != null)
{
    MessageBox.Show(theClickedtwo.ToString());
    //do your thing here.
    //there is a reference to the listview item we clicked on
    //in our theClickedOne variable.
} 

但我无法想办法使用它来区分我使用的listviewitems,因为我的程序中的第一列是相同的,它只会给我一个带有它的名字的字符串(第一列)。我希望有类似于下一个例子的东西,但是对于树视图。

void treeView1_NodeMouseClick(Object sender, TreeNodeMouseClickEventArgs e)
{
    MessageBox.Show(e.Node.Text);
}

1 个答案:

答案 0 :(得分:0)

在填充ListView时,设置项目的Tag属性,例如

newItem.Tag = "Item 1";

Tag属性的类型为object,因此您可以在此处使用任何内容来标识该项目。处理鼠标单击事件时,只需再次检查Tag值:

if((string)(clickedItem.Tag) == "Item 1")
{
    // do stuff for this specific item.
}