Use a TableLayout control with an applicable number of rows and columns, ensure that the layout control uses Dock=Fill, and percentages for row/column sizes. Fill the table cells with e.g. Panel controls and use rowspan and colspan as needed to make it easier to add multiple controls to a cell.
Then add your controls to the panels, and use Dock=Fill on your textbox controls to make it resize with the underlying table cell when your user control gets resized.