Making a responsive way is not difficult. There are several alternatives that can be used (TabbledLayoutPanel, Anchor and Dock Properties of Controls, FlowLayoutPanel and All Together).
I'll give you a small example using the Anchor property of the controls.
See below:
TheAnchorpropertyindicatesinwhichdirectionsthecontrolwillbedocked.Forexample,iftheanchorofmycontrolis"Top, Right" this indicates that my control will always maintain the same distance from the top and right edges of the parent's control.
All control by default comes with the Anchor property set to "Top, Left", ie it will maintain the relative distance above and to the left.
Followingourexamplewewillmakethe"Go" button always in the upper right corner of the form. For this we will change the Achor property to "Top, Rigth". When you resize the form, it will assume the following behavior:
Thenextstepistomakethetextboxalwayskeepthesamedistancetotheleftastotheright.Forthis,wewillusetheanchor"Top, Left, Rigth":
Finally,wewantthegridbelowtomaintainthesamedistanceinalldirections.Todothis,simplysetAnchoras"Top, Bottom, Left, Rigth".
Ihopethislittleexamplewillhelpyourgoal.ItisworthnotingthatthisAchorpropertycanbedefinedviacodeasbelowwhereIdefine"Botton, Right" in a text field:
textBox1.Anchor = AnchorStyles.Right | AnchorStyles.Bottom;
Remembering that the anchor (Anchor) is always relative to the parent control. In the example below I set the anchor to all directions in the "Hello" button but since this button has a panel as its parent, it will follow the behavior of the parent.