Ok I'm already pulling my hair out because of how buggy ListView actually is.

I've got a listview which I want to use instead of a ListBox because I need two columns due to alignment (ListBox with the SendMessage SetTabwidth isn't good enough as the first word can be much wider than when the first tab starts).
So I have added the ListView:

  • CheckBoxes=False
  • HideColumnHeaders=True
  • HideSelection=False
  • FullRowSelect=True
  • MultiSelect=False
  • TabOrder=0
  • View=lvwReport

I've added a few items.
When the form opens the ListView is shown and the first item is selected
Now, when I double click in the Listview on the empy space below the items suddenly the highlight (and visible selection) is gone and stays gone until you click once on the empty space.
When you check the ListView_DblClick (and _Click) event, ListView.SelectedItem is available and both ListView.SelectedItem.Selected and .Checked stay TRUE

I can't seem to find a satisfying solution to prevent it, as I tried setting ListView.DropHighlight to SelectedItem during the DblClick would fix the it, but if you then select another item (using keys) the original item stays selected, and also tried setting DropHighlight back to nothing, but that just also removes selection in certain situations.


Also It's driving me mad that the Selection bar doesn't start at the far left of the Listview, but first skips a few pixels.
AND also hate how the CheckBoxes of the ListView have fat borders (with windows 10 and no manifest).