Try using:
dataGridView1.PerformLayout();
Rendering the DataGridViews is a costly operations, wherefore setting the layout is invoked manually, except for the initial display.
See here[
^]
You should also Perform Layouting in your Resize Handler of your Form or Control.