C#WinForm窗体控件变乱问题
事情是这样的:一个Form1面板上有很多控件,我用代码已经控制好了控件可随Form1大小而自动缩放,但是当把该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));
}
}
我这代码是正确的..点击右上角最小化和最大化控件缩放都是正常的,只是直接最小化到任务栏然后复原,控件就乱了..试了Dock或Anchor属性,试着加了Panel..都没效果..不嫌麻烦的话诸位可以试试次代码..注意测试窗体中有tabpage..tabpage中有textbox等等控件.晕,现在提问怎么不能用积分了..嘿嘿,还好有30点财富值...
呵..我觉得这不是调与不调的问题..回答它我觉得需要诸位测试后才能够有所体会.. 展开
{
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));
}
}
我这代码是正确的..点击右上角最小化和最大化控件缩放都是正常的,只是直接最小化到任务栏然后复原,控件就乱了..试了Dock或Anchor属性,试着加了Panel..都没效果..不嫌麻烦的话诸位可以试试次代码..注意测试窗体中有tabpage..tabpage中有textbox等等控件.晕,现在提问怎么不能用积分了..嘿嘿,还好有30点财富值...
呵..我觉得这不是调与不调的问题..回答它我觉得需要诸位测试后才能够有所体会.. 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询