I want to maintain size and position of the control relative to its container eg,size and position of the richtextbox in the form should be maintained when form resize.
If I understand you correctly, you need to use the Anchor property.
Have a look at Control.Anchor Property.
Use the 'Anchor' property of the control. Set it to Top, Left, Right, Bottom accordingly to anchor it's edges to the form as required.
You can use the anchor property which will allow you to lock the edges of your control relative to the windows edge.
This is what the designer adds in when setting Top, Bottom, Left and Right this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right)));
Alternatively a docking panel can be useful in keeping controls docked to one side of a window.
If you have more complex designs, just a anchor and docking is not enough. Imagine you have two textboxes and while resizing you like that both boxes grow and shrink (by 50% for each one). In that case you can use the TableLayoutPanel with relative sizes and within these panels you arrange your controls with anchoring and docking.
Another helpful thing: In a more complex design you should take a look into View - Other windows - Document Outline, while you're in Design View and you get a great overview about where which control resides.