Should setting Selected(row) in code cause the various paint events to fire in a ListBox?

Another one that I “thought” used to work - if I set ListBox.Selected(row) in code, shouldn’t the same events be fired that would have fired due to a mouse click? With 2018r1.1 and 2017r3, that doesn’t happen on Mac or Windows.

    lbDisplayDrives.ListIndex = 0
    lbDisplayDrives.Selected(0) = True

If it shouldn’t (and I’m really thinking that it used to), is there a way to cause the various paint events to fire in code?

Don’t invalidate the whole listbox if you don’t need to. You can invalidate one row with InvalidateCell:

Thanks, Jason, but I’d tried that (the listbox is only 2 rows of 1 column, so not a big overhead in either case). Still didn’t fire the paint events (CellTextPaint, CellBackgroundPaint)