I am working on some code for a client that involves a tabbed interface containing a User Control in each tab. This nicely separates out all of the UI logic for each of the tabs so you don't end up with one monster file with every control from every tab. Trying to be a considerate UI citizen, I am trying to populate the ListBox controls asynchronously using a BackgroundWorker.