In TableLayoutPanel
you can only put a single control in any cell, and the control will be placed at the top-left corner of the cell. As you've found, one of the options is to set the control's Margin
property.
Another option is to put a Panel
inside the cell, dock it to fill the cell, and place other controls inside the panel. This way you have full control over the placement of the control.
This increases the levels of hierarchy of controls, but that's not a problem unless it reaches to about 10 levels of nesting. That's when you may start encoutering slowness in resizing the form, or even some strange behaviour.