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));
}
}
就是想问问大家如何更改才可以使缩小到任务栏后再恢复原状不会变乱?
我这代码是正确的..点击右上角最小化和最大化控件缩放都是正常的,只是直接最小化到任务栏然后复原,控件就乱了.. 展开
{
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));
}
}
就是想问问大家如何更改才可以使缩小到任务栏后再恢复原状不会变乱?
我这代码是正确的..点击右上角最小化和最大化控件缩放都是正常的,只是直接最小化到任务栏然后复原,控件就乱了.. 展开
6个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询