Are you sure that's the problem? I mean, it sounds logical, but in fact
the Designer doesn't normally take code-generated stuff and throw it
into the InitializeComponent() method. At least, that hasn't been my
I don't know for sure what the problem is, but you should definitely
look at the generated InitializeComponent() method for the form
containing your control to see if it really has the same code to add the
column that you've added explicitly in the constructor.
If the Designer is in fact getting confused at copying code-generated
data into the InitializeComponent() method for the control (or for the
containing control, for that matter), then you might be able to work
around the issue by using one of the code attributes defined for working
with the Designer (to disable your column-adding code when your control
is instantiated by the Designer).