//主窗口:mainForm
//子窗口1:form1
//子窗口2:form2
//mainForm中:
form1 f1=new form1()
f1.MDIParent=this
f1.Show()
//到了form1中:(在form1中新建form2,并且form2的父窗口为form1的主窗口)
form2 f2=new form2()
f2.MDIParent=this.MDIParent
f2.Show()
//是这样的不,这个问题我碰到过,呵呵
1. 在主窗口留一些位置用来 容纳 所有的子窗口. 当需要子窗口时,添加到这个区域中。2. 在主窗口留一些位置来 容纳 已经最小化的子窗口,就像最后一幅图中下面的一样(传统的 mdi 也就是这样安排最小化了的子窗口的)。这个功能最好用 ListBox 来实现,设置 ListBox 的 ItemPanelTemplate 和 ItemsSource, 对子窗口的最小化和还原绑定。
3. 要实现子窗口的移动,大小, 菜单等,这只能在代码中实现。如何实现,可以探寻网上的代码例子.
上面三步完成后,基本上就成形了.
子窗口的内容,由於子窗口必定是 Content 或者 Items 类型的控件,所以,内容可以随意的和平常一样放置自己的东西 (通过其 Children/Child/Content 来设置)。
子窗口Form2主窗口Form1的属性IsMdiContainer=true
主窗口的一项菜单点击出现子窗口:
Form2 frm = new Form2()
frm.MdiParent = this
frm.Show()
还有不明白吗
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)