C#WinForm控件布局变乱问题

事情是这样的:一个Form1面板上有很多控件,我用代码已经控制好了,控件可随窗体大小而自动缩放,但是当把该Form1缩小到任务栏的时候,再恢复到正常状态,控件的布局就乱了... 事情是这样的:一个Form1面板上有很多控件,我用代码已经控制好了,控件可随窗体大小而自动缩放,但是当把该Form1缩小到任务栏的时候,再恢复到正常状态,控件的布局就乱了..不知诸位可碰过这情况?我的缩放代码如下:public static void AutoScale(MForm MF)
{
MF.Tag = MF.Width.ToString() + "," + MF.Height.ToString();
MF.SizeChanged += new EventHandler(MF.MForm_SizeChanged);
}

private void MForm_Resize(object sender, EventArgs e)
{
string[] tmp = new string[2];
try
{
tmp = ((Form)sender).Tag.ToString().Split(',');
}
catch
{
tmp = new string[2];
tmp[0] = "1244";
tmp[1] = "719";
}

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));
}
}

就是想问问大家如何更改才可以使缩小到任务栏后再恢复原状不会变乱?
我这代码是正确的..点击右上角最小化和最大化控件缩放都是正常的,只是直接最小化到任务栏然后复原,控件就乱了..
展开
 我来答
johnny_8379
2009-09-08 · TA获得超过210个赞
知道小有建树答主
回答量:198
采纳率:0%
帮助的人:195万
展开全部
这个是布局的问题,一般我们在窗体设计的时候都会对控件进行位置的设置。
比如说:
FORM1 为 600*600 那么你的的控件正确摆放位置也只限于这个范围内。如果你想在最大化为1024*768 那么控件的位置肯定会发生改变。以致最大化后的窗体一部分地方是空白的,
以600*600为列子
解决方案一:你可以在设计的时候把窗体的长宽定格在600*600,不让用户最大化,当然你想设计成1024*768也是可以的。
解决方案二:采用流布局:工具箱里边容器里有一个:FlowLayoutPanel的控件。你可以把这个控件Panel加进你的FORM,再在这个布局控件上面添加你的控件。这样,不管你的窗体初始大小是多大都可以使你的窗体在最大化的时候,或者改变窗体大小的时候,里边的控件也随着一起变大或者变小。不影响界面!

没有看懂继续提问
百度网友458896cac
2009-09-08 · TA获得超过1684个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:134万
展开全部
有两种方法:
1 先将你的代码删除,或者先注释,设定anchor属性,这样控件的边界就会跟窗体的边界始终保持一定的距离而不管窗体如何缩放

2 anchor可以做到固定缩放,但无法做到按比例缩放,如果能确定你上述的代码是正确的,那么就双击窗体的resize事件,然后在该事件中调用你的这个函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f29fcc4
2009-09-16 · TA获得超过239个赞
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:104万
展开全部
我初学的时候也遇到过这个问题,其实控件都有anchor属性的 控制其与父容器的边距 你可以试下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LK_soso
2009-09-08 · TA获得超过278个赞
知道小有建树答主
回答量:351
采纳率:0%
帮助的人:191万
展开全部
用panel控件,把控件进行分区,然后设置空间的Dock和Anchor属性。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a405810085
2012-11-23
知道答主
回答量:66
采纳率:0%
帮助的人:44万
展开全部
问题解决了吗 没有我有源代码需要吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式