The Windows Form Toolbar is a real bear to work with and its visual behavior especially with XP display format has always given me problems.
The biggest issue I've had is that the button resizes themselves to some unknown small size and I have not been able to resize it in the designer. A lot of hints I found pointed at EnableVisualStyles, but I've recently removed all use of this buggy construct from all of my applications.
While messing with another toolbar on another form for a demo today I noticed that the toolbar never has a problem with regular, non-flat buttons, where it properly respects the size I assign to the ButtonSize property. If I switch to Flat in designtime the buttons still show correct but at runtime the crunch together at about a width of 40 pixels or so.
Long story short, the workaround for this lame behavior is to set your toolbar at designtime to normal Appearance, then in the Load() of the form switch it to Flat. Apparently this gets the buttons painted in the proper size first and it works as expected.
private
void BrowserDemo_Load(object sender, System.EventArgs e)
{
this.Toolbar.Appearance = ToolBarAppearance.Flat;
}
Another mystery solved. Then again for a real app I would NEVER use the stock toolbar control and ImageList - it's just too much of a hassle to keep the images in proper order and deal with all the funky behavior of the toolbar. My recommendation for this goes to Sandbar from Tim Dawson which is a fine lightweight toolbar control with predictable behavior.