I would really appreciate if you could recommend me any tutorial where I can learn more about user controls.
For the most part, you can think of UserControl as if it was halfway between a control like a Label/TextBox and a Form.
- You add them to an existing form or inside a panel or other container control.
- They don't have any of the Form-specific things like resizable border controls or minimize/maximize/close buttons.
- You can use the Forms Designer to put multiple controls inside them just like you can with a Form and set up tabbing, anchoring, docking, etc with the child controls.
- Each UserControl is a separate class, so you can encapsulate their members or expose them if you want, similar to how there's many different ways you can pass data between two Forms. Choose whatever works best for you.
You can Google search for "WinForms C# UserControl tutorial" for more in-depth tutorials.
For your specific case, what you would want to do is make your UserControls, and then have your form create them and then set userControlInstance.Dock = DockStyle.Fill; to make the user control automatically fill the entire form. Then design each UserControl so that the controls nested inside of it are anchored or docked properly within the UserControl.
To do inter-page navigation, have each UserControl's navigation buttons raise an event for your Form to handle, and have the Form switch between pages. You can encapsulate these events or expose the navigation buttons directly, depending on what your personal maintainability/rapid development biases are.