110,535
社区成员
发帖
与我相关
我的任务
分享
bool isno = false;//控制是否第一次改变。因为第一次打开主窗体里就会执行Resize事件
int IntoHeight, IntoWidth;//放入每次改变时的父窗体值
float TempHeight, TempWidth;//获得每次放大放小的比例值
private void main_Load(object sender, EventArgs e)
{
isno = true;
IntoHeight = this.Height; IntoWidth = this.Width;
}
private void main_Resize(object sender, EventArgs e)
{
if (isno)
{
TempHeight = float.Parse(this.Height.ToString()) / float.Parse(this.IntoHeight.ToString());
TempWidth = float.Parse(this.Width.ToString()) / float.Parse(this.IntoWidth.ToString());
IntoHeight = this.Height; IntoWidth = this.Width;
ChangAllChildRenSize();
}
}
public void ChangAllChildRenSize()
{
foreach (Form tempChildForm in this.MdiChildren)
{
tempChildForm.Height = int.Parse(Convert.ToString(Math.Round(tempChildForm.Height * TempHeight,0)));
tempChildForm.Width = int.Parse(Convert.ToString(Math.Round(tempChildForm.Width * TempWidth,0)));
}
}
private void main_SizeChanged(object sender, EventArgs e)
{
foreach (Form obj in this.MdiChildren)
{
obj.WindowState = FormWindowState.Minimized;
obj.Show();
}
if (this.WindowState == FormWindowState.Minimized)
{
this.cmsNinSystemShow.Enabled = true;
this.cmsNinSystemHide.Enabled = false;
this.ShowInTaskbar = false;
}
else
{
this.cmsNinSystemShow.Enabled = false;
this.cmsNinSystemHide.Enabled = true;
this.ShowInTaskbar = true;
}
}
private void Form1_SizeChanged(object sender, EventArgs e)
{
//Form2 subform = new Form2();
if (this.WindowState == FormWindowState.Maximized)
{
foreach (Form obj in this.MdiChildren)
{
obj.WindowState = FormWindowState.Maximized;
obj.Show();
}
}
}
实现了,测过