当前位置:编程学习 > C#/ASP.NET >>

C# 多form 位置和大小问题。

最近在开发中遇到这样一个问题。
有主窗口 MAINFORM,然后通过BUTTON按钮来打开子窗口FORM1(NEW 出来的),由于MAINFORM有后台线程所以MAINFORM并没有关闭,而是隐藏了。
现在要求,打开FORM1的时候FORM1的窗口大小,位置必须和MAINFORM一致,而且如果MAINFORM是最大化的时候进入FORM1 ,此时FORM1 还原后的位置和大小必须和先前的MAINFORM一致,
然后关闭FORM1(CLOSE掉),把MAINFORM,SHOW出来。。。这时候MAINFORM的位置大小必须和FORM1一致,而且还原后的位置和大小必须和先前的FORM1一致。。
就是说,整天应用看起来是一个FORM在显示。。。
单实际上是一个主FORM来SHOW,HIDE。
多个子FORM,NEW和CLOSE来操作。。
谢谢。大侠指点啊。。
本来已经搞了好几天了。
尤其是,在最大化的状态下比较讨厌,很难改变其大小和SIZE。
--------------------编程问答-------------------- 楼主可以在mainFORM上定义一个panel,panel完全覆盖mainFORM
将FORM1的边框去掉,
然后使之绑定到panel上。
可以试试看。 --------------------编程问答-------------------- 即:当前窗口的大小及位置状态决定一切!
为什么不在显示窗口时在内存中记录一下这些信息呢?
.NET中对窗口的大小及位置的控制是很方便的! --------------------编程问答-------------------- 在MAINFORM加入ShowForm方法用来控制所有打开窗体的位置和大小

private void ShowForm(Form frm)
{
frm=new Form();
frm.MdiParent=this;
frm.Location=this.Location;
frm.Size=this.Size;
this.Hide();
frm.Show();
frm.Closed+=new EventHandler(frm_Closed);
}

private void frm_Closed(object sender, EventArgs e)
{
Form frm=(Form)sender;
this.Location=frm.Location;
this.Size=this.Size;
this.Show();
}
--------------------编程问答-------------------- 1楼正解。 --------------------编程问答-------------------- 学习一下 --------------------编程问答--------------------
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,