private void Frm_Load(object sender, System.EventArgs e) ...{ x=this.Width ; y=this.Height ; setTag(this); } float x=0; float y=0; private void Frm_Resize_1(object sender, System.EventArgs e) ...{ float newx = (this.Width )/ x; float newy = this.Height / y; setConstrols(newx, newy, this); } private void setTag(Control cons) ...{ foreach (Control con in cons.Controls ) ...{ //if (con is PictureBox) continue; con.Tag = con.Width +":" + con.Height + ":" + con.Left + ":" + con.Top + ":" + con.Font.Size; if (con.Controls.Count > 0) ...{ setTag(con); } } } private void setConstrols(float newx,float newy,Control cons) ...{ foreach (Control con in cons .Controls ) ...{ string[] mytag = con.Tag.ToString().Split(new char[] ...{ ':' }); float a = Convert.ToSingle(mytag[0]) * newx; con.Width = (int)a; a=Convert.ToSingle(mytag[1]) * newy; con.Height = (int)(a); a=Convert.ToSingle(mytag[2]) * newx; con.Left = (int)(a); a=Convert.ToSingle(mytag[3]) * newy; con.Top = (int)(a); Single currentSize = Convert.ToSingle (mytag[4]) * newy; con .Font =new Font (con.Font .Name ,currentSize,con.Font .Style ,con.Font .Unit ); if(con.Controls .Count >0) ...{ setConstrols (newx ,newy ,con ); } } }