MDI C# 需要详解,谢谢 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://msdn.microsoft.com/zh-cn/library/xyhh2e7e.aspxWindows 窗体编程多文档界面 (MDI) 应用程序更新:2007 年 11 月多文档界面 (MDI) 应用程序使您能同时显示多个文档,每个文档显示在各自的窗口中。MDI 应用程序中常有包含子菜单的“窗口”菜单项,用于在窗口或文档之间进行切换。本节内容 如何:创建 MDI 父窗体提供有关如何为 MDI 应用程序内的多个文档创建容器的说明。如何:创建 MDI 子窗体给出创建在 MDI 父窗体内操作的一个或多个窗口的说明。如何:确定活动的 MDI 子窗体提供有关如何验证具有焦点的子窗口(并将其内容发送到剪贴板)的说明。如何:将数据发送到活动的 MDI 子窗体提供有关如何将信息传输到活动子窗口的说明。如何:排列 MDI 子窗体提供有关如何平铺、层叠或排列 MDI 应用程序的子窗口的说明。 //---查询MDI子窗体是否已经打开,放在LOAD事件里---- private bool haveOpen(string childForm) { foreach (Form inform in this.MdiChildren) { if (inform.Name == childForm) //用子窗体的Name进行判断 { //如果存在则将他激活,为最小化则使其正常 if (inform.WindowState == FormWindowState.Minimized) { inform.WindowState = FormWindowState.Normal; } inform.Activate(); return true; } } return false; } 要单击或其它显示窗体时用: if (this.haveOpen("MangerReadersForm") == false) //MangerReadersForm是窗体的名字 { MangerReadersForm mrf = new MangerReadersForm(this.UserName); mrf.MdiParent = this; mrf.Show(); } C#中如何处理子窗体在父窗体中显示的位置那就是设置窗体属性 StartPosition,注意:是对子窗体中设置该属性,在属性窗口中找到StartPosition(开始位置),点击该属性,然后就可以设置你想要的位置。设置好了以后,运行父窗体就可以点击相关的链接,就可以查看到你想要的效果了。实现mdi先在主窗体中设置(isMdicontainer为true) 范例: 给主窗体中拉进一个botton;双击(写代码) 如下: Form2 myForm2 = new Form2(); myForm2.MdiParent = this; myForm2.Show();判断窗体是否打开:if (a.Visible) { // 窗体是Show的。 } else { // 窗体是Hide的。 }模式窗体Son zi=new SON();//Son为窗体名zi.ShowDialog();子窗体相对父的位置在form load的时候加上: Me.Top = 100 //me是子窗体 Me.Left = 100 就可以设置form窗体相对mdi父窗体的位置了。 AppDomain创建 [分享]史上最全版本自动更新程序及3种实现策略-分析文档(UML图) C#求一个过来关键字的方法,小弟在线等,急! 急需答案 关于using System.Net.Sockets;的问题,请各位高手给些指点,麻烦了!!!很急。 查找数据是否存在的效率问题 关于反射的问题 如何实现数据表中数据的行选? (急切求助)无线PDA接入局域网及读条码问题讨论。。。 10分相送!马上给分,请有经验的开发员解答 请教C# winform数据库操作问题!! 关于打开文件显示文件名和后缀名
多文档界面 (MDI) 应用程序更新:2007 年 11 月多文档界面 (MDI) 应用程序使您能同时显示多个文档,每个文档显示在各自的窗口中。MDI 应用程序中常有包含子菜单的“窗口”菜单项,用于在窗口或文档之间进行切换。
本节内容 如何:创建 MDI 父窗体
提供有关如何为 MDI 应用程序内的多个文档创建容器的说明。如何:创建 MDI 子窗体
给出创建在 MDI 父窗体内操作的一个或多个窗口的说明。如何:确定活动的 MDI 子窗体
提供有关如何验证具有焦点的子窗口(并将其内容发送到剪贴板)的说明。如何:将数据发送到活动的 MDI 子窗体
提供有关如何将信息传输到活动子窗口的说明。如何:排列 MDI 子窗体
提供有关如何平铺、层叠或排列 MDI 应用程序的子窗口的说明。
private bool haveOpen(string childForm)
{
foreach (Form inform in this.MdiChildren)
{
if (inform.Name == childForm) //用子窗体的Name进行判断
{
//如果存在则将他激活,为最小化则使其正常
if (inform.WindowState == FormWindowState.Minimized)
{
inform.WindowState = FormWindowState.Normal; }
inform.Activate();
return true;
}
}
return false;
} 要单击或其它显示窗体时用:
if (this.haveOpen("MangerReadersForm") == false) //MangerReadersForm是窗体的名字
{
MangerReadersForm mrf = new MangerReadersForm(this.UserName);
mrf.MdiParent = this;
mrf.Show();
}
C#中如何处理子窗体在父窗体中显示的位置
那就是设置窗体属性 StartPosition,注意:是对子窗体中设置该属性,在属性窗口中找到StartPosition(开始位置),点击该属性,然后就可以设置你想要的位置。设置好了以后,运行父窗体就可以点击相关的链接,就可以查看到你想要的效果了。实现mdi
先在主窗体中设置(isMdicontainer为true)
范例:
给主窗体中拉进一个botton;双击(写代码)
如下:
Form2 myForm2 = new Form2();
myForm2.MdiParent = this;
myForm2.Show();
判断窗体是否打开:
if (a.Visible)
{
// 窗体是Show的。
}
else
{
// 窗体是Hide的。
}
模式窗体
Son zi=new SON();//Son为窗体名
zi.ShowDialog();
子窗体相对父的位置
在form load的时候加上:
Me.Top = 100 //me是子窗体 Me.Left = 100
就可以设置form窗体相对mdi父窗体的位置了。