I wonder about having to set up so much of the listbox in the listbox click
event. It would be better to have the setup done once and leave it like that.
Surely you do not need to tell the listbox to have 4 columns and what their
widths are every time it is clicked?
Actually, I would be reluctant to use the click event of a listbox at all. I
would prefer to use the change event if possible but this may not be
appropriate in your application.