I'm using Windows Forms and I'd like to write some code to change the layout of each of the controls on the form whenever anything gets scrolled or resized. I assume there must be a standard way of doing this before a form paint is done.

**EDIT:** There is a DataGridView on the form. I want to change the layout whenever a column width is changed or the horizontal scroll bar is moved.