![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
#region
窗体控件随窗体大小改变(包括字体大小)
// 在窗体加载事件中写入下面的三行代码
// this.Resize += new EventHandler(Form1_Resize);
// X = this.Width;
// Y = this.Height;
// setTag(this);
private float X;
private float Y;
private void setTag(Control cons)
{
foreach (Control con in cons.Controls)
{
con.Tag = con.Width + " : " + con.Height + " : " + con.Left + " : " + con.Top + " : " + con.Font.Size;
if (con.Controls.Count > 0 )
setTag(con);
}
}
private void setControls( 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 )
{
setControls(newx, newy, con);
}
}
}
void Form1_Resize( object sender, EventArgs e)
{
// throw new Exception("The method or operation is not implemented.");
float newx = ( this .Width) / X;
// float newy = (this.Height - this.statusStrip1.Height) / (Y - y);
float newy = this .Height / Y;
setControls(newx, newy, this );
this .Text = this .Width.ToString() + " " + this .Height.ToString();
}
#endregion
// 在窗体加载事件中写入下面的三行代码
// this.Resize += new EventHandler(Form1_Resize);
// X = this.Width;
// Y = this.Height;
// setTag(this);
private float X;
private float Y;
private void setTag(Control cons)
{
foreach (Control con in cons.Controls)
{
con.Tag = con.Width + " : " + con.Height + " : " + con.Left + " : " + con.Top + " : " + con.Font.Size;
if (con.Controls.Count > 0 )
setTag(con);
}
}
private void setControls( 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 )
{
setControls(newx, newy, con);
}
}
}
void Form1_Resize( object sender, EventArgs e)
{
// throw new Exception("The method or operation is not implemented.");
float newx = ( this .Width) / X;
// float newy = (this.Height - this.statusStrip1.Height) / (Y - y);
float newy = this .Height / Y;
setControls(newx, newy, this );
this .Text = this .Width.ToString() + " " + this .Height.ToString();
}
#endregion