Make a eventhandler to the resize event (properties window > events or this.Resize += new EventHandler(somefunction);) then resize/reposition all controls on your form using the new dimentions found in this.ClientRectangle.
example:
private void PersonalizeColumnsForm_Resize(object sender, EventArgs e)
{
listColumns.Top = 10;
listColumns.Left = 10;
listColumns.Height = this.ClientRectangle.Height - 20;
listColumns.Width = this.ClientRectangle.Width - 30 - btnClose.Width;
btnClose.Left = 10 + listColumns.Width + 10;
btnClose.Top = 10;
btnCheckAll.Left = btnClose.Left;
btnCheckAll.Top = btnClose.Bottom + 10;
btnUncheckAll.Left = btnClose.Left;
btnUncheckAll.Top = btnCheckAll.Bottom + 10;
btnTop.Left = btnClose.Left;
btnTop.Top = 20 + (listColumns.Height / 2) - 35 - btnUp.Height;
btnUp.Left = btnClose.Left;
btnUp.Top = 20 + (listColumns.Height / 2) - 5 - btnUp.Height;
btnDown.Left = btnClose.Left;
btnDown.Top = 20 + (listColumns.Height / 2) + 5 + btnDown.Height;
btnBottom.Left = btnClose.Left;
btnBottom.Top = 20 + (listColumns.Height / 2) + 35 + btnDown.Height;
btnReset.Left = btnClose.Left;
btnReset.Top = listColumns.Bottom - btnReset.Height;
}