I'll add this as an answer so anyone else visiting this thread knows what happened without going through all the comments.
The OP was using my multi-column combobox class as well as someone else's multi-column listbox class. He's started a separate thread for the listbox problem. But the fix to my class was to do this:
Replace:
protected override void OnDataSourceChanged(EventArgs e)
{
base.OnDataSourceChanged(e);
InitializeColumns();
}
with:
protected override void OnDataSourceChanged(EventArgs e)
{
InitializeColumns();
base.OnDataSourceChanged(e);
}
I am not sure why that's needed now. I wrote the original code 4 years ago, and at the moment I don't have time to dig into why this might make a difference. But anyway that fixed the OP's problem with the combobox.