C#Listview列标记

时间:2016-09-04 10:40:31

标签: c# winforms listview

我需要从ListView中的列中获取sender标签,我该怎么做?

我的意思是这样的:

private void listView1_ColumnClick(object sender, ColumnClickEventArgs e)        
{
   if((string)(sender as ColumnHeader).Tag == "...")
   {
      /*mycode*/
   }
}

2 个答案:

答案 0 :(得分:1)

查找ColumnClickEventArgs.Column,它返回单击列的从零开始的索引。

private void listView1_ColumnClick(object sender, ColumnClickEventArgs e)        
{

   if(e.Column >=0 && ListView1.Columns[e.Column].Tag == "...")
   {
      /*mycode*/
   }
}

答案 1 :(得分:1)

活动的发件人是ListView。您应该使用e.Column作为已点击列的索引并找到列对象,然后从标记中获取值

private void listView1_ColumnClick(object sender, ColumnClickEventArgs e)
{
    var column = listView1.Columns[e.Column];
    var tag = column.Tag as string;
    if(tag == "something")
    {
        //...
    }
}