Determine clicked column in ListView

c#, listview, winforms

Solution

Jeez, everyone's too lazy to post code. There are three steps to the process:

- Get the mouse position using `Control.MousePosition` and convert to client coordinates.

- Call the `HitTest` function to find what the mouse is pointing to. This returns an object with lots of information except the actual column number so...

- Search the subitems array using `IndexOf` to find the column number.

Here's the code:

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);
}

Problem

I need to get the column clicked in a ListView in C# I have some sample code from How to determine the clicked column index in a Listview but I'm not sure how I should implement it.

Original source