请问C#如何实现控件随窗体的变化而变化大小(WinForm程序) 5

我在网上看到一段代码publicstaticvoidAutoScale(Formfrm){frm.Tag=frm.Width.ToString()+","+frm.Hei... 我在网上看到一段代码
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.ToInt32(tmp[0]);
float heigth = (float)((Form)sender).Height / (float)Convert.ToInt32(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));

}
}
这两个方法虽然好用,但当窗体最小化时,控件会变形,而且,同时打开两个窗体的时候,一个窗体可以正常显示,而另一个窗体不能正常使用,
请教应该如何解决
展开
 我来答
ychs55
2008-01-03 · TA获得超过406个赞
知道小有建树答主
回答量:398
采纳率:0%
帮助的人:476万
展开全部
任何控件都有Anchor和Dock属性,它们就起这作用的,不用写那么多代码,
百度网友caef6e2bb
2008-01-03 · TA获得超过2425个赞
知道小有建树答主
回答量:1174
采纳率:0%
帮助的人:1402万
展开全部
在控件的属性栏中设置其DOCK和ANCHOR属性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yaya272788696
2008-01-04
知道答主
回答量:37
采纳率:0%
帮助的人:0
展开全部
ANCHOR
选择 上下左右四个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式