使用鼠标点击事件获取ListViewItem文本
问题描述:
我想使用listview填充数据,然后使用鼠标点击事件来填充一些文本框与数据。我抬头一看MSDN中的例子:使用鼠标点击事件获取ListViewItem文本
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);
}
答
当填充您ListView
,设定的项目,例如的Tag
财产
newItem.Tag = "Item 1";
的Tag
酒店式object
,所以你可以使用你想在这里,以确定该项目任何东西。处理鼠标点击事件时,只需再次检查Tag
的值:
if((string)(clickedItem.Tag) == "Item 1")
{
// do stuff for this specific item.
}
+0
我使用标签将它作为类的指针传递,如下所示:'Class p =(Class)(theClickedtwo.Tag);'它运行得很好。 – user3365107 2014-12-04 09:29:02
当谈到区分UI元素时,我通常会设置元素的Tag属性。仔细查看一下。 – helb 2014-12-04 07:51:13
“我想要类似于下一个示例,但是对于treeview。” - 什么?你想用ListView控件还是TreeView来做到这一点?直到最后一条语句为止,大部分帖子似乎都说'ListView'。 – 2014-12-04 07:56:02
我知道,在我的代码中,我也使用treeview和mouseclick事件,并且我更容易得到如何使用它并识别strings.I认为listview将是相同的,它是不同的。 – user3365107 2014-12-04 08:45:43