我需要在C#的ListView中单击该列

我有一些来自How to determine the clicked column index in a Listview的示例代码,但不确定如何实现。

最佳答案

哎呀,每个人都懒得写代码。该过程分为三个步骤:

  • 使用Control.MousePosition获取鼠标位置并转换为客户端坐标。
  • 调用HitTest函数以查找鼠标指向的内容。这将返回一个对象,除了实际的列号以外,它还包含很多信息,因此...
  • 使用IndexOf搜索子项数组以查找列号。

  • 这是代码:
    private void listViewMasterVolt_DoubleClick(object sender, EventArgs e)
    {
        Point mousePosition = myListView.PointToClient(Control.MousePosition);
        ListViewHitTestInfo hit = myListView.HitTest(mousePosition);
        int columnindex = hit.Item.SubItems.IndexOf(hit.SubItem);
    }
    

    10-06 11:19