Can I add a small performance enhancement here? Don't add your listboxes to the control collection in each iteration. Instead, use Controls.AddRange to add the entire collection of listboxes.
Deja View - the feeling that you've seen this post before.