WinForms is not simple. There are so many core classes that have counterintuitive edge-cases and overcomplicated behavior, and so many things you'd expect to work by default don't.
Databinding is a complete trainwreck, the Combo-box class is horribly overcomplicated by its double-duty as text-entry and drop-down-list, the DataGridView is a complete beast of leaky abstractions, and the layout engine completely falls apart if somebody alters the DPI unless you obsessively test DPI alterations yourself.
I don't blame Microsoft for any of this - it was 2000 and they were making a wrapper around some terrifying legacy code.
But this thing should have been tossed in the dustbin of history a long time ago.
Databinding is a complete trainwreck, the Combo-box class is horribly overcomplicated by its double-duty as text-entry and drop-down-list, the DataGridView is a complete beast of leaky abstractions, and the layout engine completely falls apart if somebody alters the DPI unless you obsessively test DPI alterations yourself.
I don't blame Microsoft for any of this - it was 2000 and they were making a wrapper around some terrifying legacy code.
But this thing should have been tossed in the dustbin of history a long time ago.