Я знаю, что это довольно старая версия Windows Forms устарела, но она все еще используется и остается проблемой. Хуже того, ни одно из этих решений не является элегантным, а некоторые даже не работают вообще.
Вот очень простое решение, когда вы создаете свой собственный элемент управления, который наследует ListView, а затем просто переопределяете WndProc, чтобы никогда не разрешать фокус. Он избавляется от всех связанных с фокусом точечных полей выбора, выбора элементов, выбора подэлементов и т. Д. *
using System.Windows.Forms;
public partial class NoSelectionListView : ListView
{
public NoSelectionListView()
{
InitializeComponent();
}
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x0007) //WM_SETFOCUS
{
return;
}
base.WndProc(ref m);
}
}