Change middle row to 100% percent, which will tell the system that middle row will fill any gap left. So change this (I believe its your designer.cs):
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
to:
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
Check TableLayoutPanel.RowStyle
from MSDN:
- Rows with RowStyle set to Absolute are considered first, and their fixed heights are allocated.
- Rows with RowStyle set to AutoSize are sized to their contents.
- Remaining space is divided among rows withRowStyle set to Percent.