By the way, the same thing can be done without creating a derived listbox class.
Just place the same code (except MyBase.OnDrawItem(e)) in the normal listbox DrawItem event handler.