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);
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…