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.