小弟 在winform 方面纯属菜鸟,但是因为项目没法子,遇到一个问题 请各位指点一下, 我建了一个mdicontainer, 里面有一个菜单,如下图
其中Form2窗体菜单 点开后是一个最大化的form窗体, Form3窗体菜单 点开后是一个长度和宽度都有规定的form窗体, 现在是 我先点击form2窗体菜单 ,再点击form3窗体菜单 出现的form3窗体也是最大化了,不是按照规定的长度和宽度打开的;小弟也采取了一些措施在form3窗体的form_load方法里面 加入了一段代码 this.windowstate=FormWindowState.normal 结果是 form3窗体是按照规定的长度和宽度打开了 但是form2窗体就自动缩小了,并且程序的界面刷新也出现了问题。 请问 如何在点击form2窗体菜单,显示完最大化的form2窗体,再点击form3窗体菜单, form3窗体 是按照规定的长度打开 同时 form2 也是最大化的。求指教 下面是一些 菜单的代码 :
private void form2窗体ToolStripMenuItem_Click(object sender, EventArgs e)
{
bool find = false;
foreach (Form myform in this.MdiChildren)
{
if (myform is Form2)
{
myform.Activate();
myform.Show();
find = true;
break;
}
}
if (!find)
{
Form2 f2 = new Form2();
f2.MdiParent = this;
f2.Show();
}
}
private void form3窗体ToolStripMenuItem_Click(object sender, EventArgs e)
{
bool find = false;
foreach (Form myform in this.MdiChildren)
{
if (myform is Form3)
{
myform.Activate();
myform.Show();
find = true;
break;
}
}
if (!find)
{
Form3 f3 = new Form3();
f3.MdiParent = this;
f3.Show();
}
}
------解决思路----------------------
MDI子窗体不可能出现一个最大化,其他正常显示的。你最大化了一个窗口,其他窗口肯定都隐藏了,能同时显示出来就肯定不会有一个是最大化的。除非你不用MDI子窗体,或者你的最大化不是系统的那种。
------解决思路----------------------
子窗口 最大化的时候,不会显示非最大化的窗口,因为被遮盖了。
你可以 显示form3的时候 把form2 给最小化了。