控件随窗体自动缩放大小(c#2005)
作者:网络 来源:佚名 更新时间:2008-11-13 10:18:56 点击:
/// <summary>
/// 控件随窗体自动缩放
/// </summary>
/// <param name="frm"></param>
public static void autoscale(form frm)
{
frm.tag = frm.width.tostring() + "," + frm.height.tostring();
frm.sizechanged += new eventhandler(frm_sizechanged);
}
static void frm_sizechanged(object sender, eventargs e)
{
string[] tmp = ((form)sender).tag.tostring().split(',');
float width = (float)((form)sender).width / (float)convert.toint16(tmp[0]);
float heigth = (float)((form)sender).height / (float)convert.toint16(tmp[1]);
((form)sender).tag = ((form)sender).width.tostring() + "," + ((form)sender).height;
foreach (control control in ((form)sender).controls)
{
control.scale(new sizef(width, heigth));
}
}
注:如果窗口需要在一开始就最大化,请在最大化前调用此方法。
/// 控件随窗体自动缩放
/// </summary>
/// <param name="frm"></param>
public static void autoscale(form frm)
{
frm.tag = frm.width.tostring() + "," + frm.height.tostring();
frm.sizechanged += new eventhandler(frm_sizechanged);
}
static void frm_sizechanged(object sender, eventargs e)
{
string[] tmp = ((form)sender).tag.tostring().split(',');
float width = (float)((form)sender).width / (float)convert.toint16(tmp[0]);
float heigth = (float)((form)sender).height / (float)convert.toint16(tmp[1]);
((form)sender).tag = ((form)sender).width.tostring() + "," + ((form)sender).height;
foreach (control control in ((form)sender).controls)
{
control.scale(new sizef(width, heigth));
}
}
注:如果窗口需要在一开始就最大化,请在最大化前调用此方法。
最大的网站源码资源下载站,