Даже на более низком уровне это сделать не так просто. Данная статья опирается на событие MenuOpening, которое не отправляется, когда пользователь нажимает на заголовок. Фактически, ListView не получает никаких уведомлений, когда заголовок (слева) щелкается за пределами столбцов.
ObjectListView (обертка с открытым исходным кодом вокруг .NET WinForms ListView) содержит все необходимые сантехнические системы и может быть легко изменен для этого.
В файле HeaderControl.cs найдите метод WndProc () и добавьте его в оператор case, который там находится:
case 0x0201: //WM_LBUTTONDOWN
if (this.ColumnIndexUnderCursor == -1) {
System.Diagnostics.Debug.WriteLine("header click on no column");
};
break;