form1有一个panel控件,panel中装的是form2,如何让form2撑满panel呢?
form1有一个panel控件,panel中装的是form2,如何让form2撑满panel呢?panel控件的 anchor 属性是: Top, Bottom, Left, Right
所以,form1最大化后,panel同步最大化,但是panel中的form2不能同步增大,撑满panel
--------------------编程问答-------------------- 解决了。
--------------------编程问答-------------------- 恭喜,解决就接分好了~~ --------------------编程问答-------------------- 事实上,你应该使用 MID 窗口。
frmsk.WindowState = FormWindowState.Normal;
frmsk.TopLevel = false; //必须设置成“非顶级控件”,才能将窗体添加到控件panel中
frmsk.Dock = System.Windows.Forms.DockStyle.Fill;
frmsk.Parent = panel1; //也可以用下面的一句 this.panel1.Controls.Add(frmsk);
//this.panel1.Controls.Add(frmsk);
frmsk.TopMost = true;
frmsk.Show();
参考 http://msdn.microsoft.com/zh-cn/library/xyhh2e7e.aspx --------------------编程问答--------------------
我的目的是让窗体成为主窗体的一部分。这样灵活,mdi比较死。也实现不了将窗体的一部分放上另外一个窗体吧。 --------------------编程问答-------------------- 接分!!! --------------------编程问答--------------------
--------------------编程问答-------------------- 呵呵 恭喜了LZ --------------------编程问答-------------------- 我也是来接分的
// form1有一个panel控件,panel中装的是form2
// 汗一个先~~
--------------------编程问答-------------------- 听说有分拿-_-! --------------------编程问答-------------------- 接分!!!!!! --------------------编程问答--------------------
form.SuspendLayout();
form.TopLevel = false;
form.FormBorderStyle = FormBorderStyle.None;
form.Parent = this.pnlMain;
form.Bounds = new Rectangle(0, 0, this.pnlMain.Width, pnlMain.Height);
form.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
form.Show();
form.BringToFront();
form.ResumeLayout();
什么意思,我的做法不可行么? --------------------编程问答-------------------- 哪有 panel 中套 form 的?
我很好奇你的业务逻辑是什么?是什么样的需求使得你不得不在 panel 里面套 form。
form 是顶级控件,top level 的。你把一个 subcontrol 级别的控件当做 form 的爹地,这样做的目的是什么?
而且一大堆的问题就出来了,比如:你怎么在 panel 中移动 form? --------------------编程问答-------------------- 回楼上,
我是将嵌入的窗体作为控件用
比如左边是导航(treeview)
根据不同的节点,右边显示不同的窗体。
如果不是将 窗体 嵌入到 panel 中,这种效果如何实现呢?
--------------------编程问答-------------------- 导航的设为最底层显示
要当前窗体设置为容器窗体
其他窗体的父亲设置为当前窗体
显示子窗体 --------------------编程问答-------------------- 正在学习中........ --------------------编程问答--------------------
你这种方式,导航与容器窗体,不能一同显示吧? --------------------编程问答--------------------
panel中套form,我在winform中经常用呀!莫非一直都错了?
一个窗体中,左边是导航,有很多菜单项的那种,针对于每一个菜单项都有一个页面!那么总不能所有的菜单项都使用panel吧!那样的话,文档视图看起来可真够头大的了!而且有的子窗体也会在其他地方用到! --------------------编程问答--------------------
WinForm 导航为什么不用 MDI?就算不用MDI,也应该用 TabControl + UserControl 啊!
试问,如果我想打开两个 Window 怎么办?两个 Window 我都要各自操作。
总之,就算你实现了,这种做法是不合理的。 --------------------编程问答--------------------
我已经不想解释了,你去看看所有的应用程序,只要你用过的。你看过那个应用程序是这样做的?就算有导航栏、菜单,会这样做吗?
你都没有搞清楚 Form、Control、Component、UserControl 之间的关系。 --------------------编程问答--------------------
干嘛不把你的子窗体做成自定义控件呢 --------------------编程问答-------------------- 这个
this.form2.Dock = DockStyle.Fill;
补充:.NET技术 , C#