怎样才能在一个form或panel中自由的融入别的Form
主 题: 大虾,怎样才能在一个form或panel中自由的融入别的Form
作 者: wbcnxa (藤逸)
等 级: ^
信 誉 值: 100
所属论坛: .NET技术 C#
问题点数: 50
回复次数: 9
发表时间: 2003-12-02 20:37:16
你好,请问怎样才能在一个form或panel中自由的融入别的Form,就是说如何如何将别的form在运行态添加并显示在已有的form中,而不是弹出一个对话框?
回复人: eyestrong(有时爱情图有虚名) ( 五级(中级)) 信誉:99 2003-12-02 20:53:00 得分:0
使用MDI(父子窗体模式)
例如在form1中加入form2:
代码如下:
this.IsMdiContainer=true;
Form2 f2=new Form2();
f2.MdiParent=this;
f2.Show();
回复人: eyestrong(有时爱情图有虚名) ( 五级(中级)) 信誉:99 2003-12-02 20:58:00 得分:0
可以使Form2的FormBorderStyle=none,这样Form2就没有边框了另外使Form2的WindowState为Maximized则Form2为最大化。
回复人: jiezhi(風依舊) ( 三星(高级)) 信誉:100 2003-12-02 21:07:00 得分:0
建议使用frame,效率高,而且方便
回复人: jiezhi(風依舊) ( 三星(高级)) 信誉:100 2003-12-02 21:09:00 得分:0
sorry,看错了:(
回复人: qiaobaba(一路坎杀) ( 三级(初级)) 信誉:100 2003-12-03 09:38:00 得分:0
把你子窗体的
Public Class Form1
Inherits System.Windows.Forms.Form
^^^^^
改为Panle
如果有错误提示去掉AutoSize什么的就可以了,用法和普通的Panle一样。
回复人: qiaobaba(一路坎杀) ( 三级(初级)) 信誉:100 2003-12-03 09:40:00 得分:0
上面写错了,是panel
去掉AutoScaleBaseSize就可以了
回复人: prettysammi(旻) ( 一级(初级)) 信誉:100 2003-12-03 09:43:00 得分:0
使用frame
回复人: zjlion(晴海) ( 二级(初级)) 信誉:100 2003-12-03 09:46:00 得分:0
PendingAffairForm form2= new PendingAffairForm(this);
form2.FormBorderStyle = FormBorderStyle.None;
form2.TopLevel = false;
form2.TopMost = false;
form2.Dock = DockStyle.Fill;
this.panelWorkSpace.Controls.Add(form2);
form2.Show();
这里的this代表form1
回复人: zjlion(晴海) ( 二级(初级)) 信誉:100 2003-12-03 09:47:00 得分:0
panelWorkSpace是form1上的panel.