C# 控件如何随窗体变大而变大

C# code
  
  
/// <summary> /// 窗口改变后控件变化 /// </summary> float x = 0 ; float y = 0 ; private void Frm_Resize( 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 ) { 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 ); } } } private void Frm_Load( object sender, System.EventArgs e) { x = this .Width ; y = this .Height ; setTag( this ); this.Resize +=new EventHandler(Frm_Resize);
  
  
}
  
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值