How can I handle click on a sub-item of ListView (detail mode)? i.e. I need to detect what exactly column was clicked.
You can use the ListView.MouseClick event as follows:
private void listView_MouseClick(object sender, MouseEventArgs e)
{
// Hittestinfo of the clicked ListView location
ListViewHitTestInfo listViewHitTestInfo = listView.HitTest(e.X, e.Y);
// Index of the clicked ListView column
int columnIndex = listViewHitTestInfo.Item.SubItems.IndexOf(listViewHitTestInfo.SubItem);
...
}