VisualC#中MDI窗体初步

原创 2006年05月23日 11:32:00

在VB中做 MDI窗体很简单。在C#里就没有这个轻松了,不过还是很方便的。

首先在C#里添加一个窗体,命名为MdiMain,将其IsMdiContainer设定成true,这样MDI主窗体就建立了。然后再添加新窗体,命名为MdiChild。现在运行程序,会发现只运行了MdiMain这个主窗体。呵呵因为我们没有写任何代码,第二个窗体当然不能出现了。现在来添加这个代码。

在MdiMain窗体上添加一个Menu,然后随便写个子菜单。双击子菜单,会出现它的Click事件,在这个事件内写如下代码:

MdiChild frmMdiChild=new MdiChild();
frmMdiChild.MdiParent=this;
frmMdiChild.Show();

这样在单击菜单项的时候就能显示MdiChild这个窗体了。但是这样会出现一个问题,就是说如果我按两次那个菜单项就会出现两个MdiChild窗体,呵呵,这是因为在C#中窗体就是一个Class,用刚才的代码就新建了一个MdiChild的实例。所以你按几次菜单项就会出现几个窗体了。控制的方法之一就是写一个变量,来存放是否打开了这个窗体,如果打开了就不继续执行了。这个小代码还是很简单的。

如果想通过程序关闭MdiChild窗体,只需在MdiChild里添加一个Button,在Button的Click事件里写上Close();就可以了。


什么是MDI窗体?

转自: 接触MDI窗体已经很久了,用了也非常多,如今在一些用户体验好的软件上,也多采用MDI窗体技术,如我们现在常用的遨游浏览器,还有Word、Excel等。 但是什么是MDI窗体呢?...
  • wljhk2006
  • wljhk2006
  • 2014年04月24日 16:04
  • 481

[VB.NET]浅谈MDI窗体的多窗体编程

---MDI窗体和多窗体编程--- 目的:在MDI窗体内用ToolBar实现多窗体的实例,在VB.NET中显示窗体一般代码如下...
  • allenle
  • allenle
  • 2005年02月18日 22:07
  • 4983

c#开发中,mdi子窗体如何调用父窗体中控件

http://hi.baidu.com/ivanbobo/blog/item/63571d1744ea941bc83d6ddd.html在子窗口中声明父窗口对象即可进行调用例如,父窗口为MDIPare...
  • plean
  • plean
  • 2011年07月18日 14:49
  • 2466

MDI子窗体在父窗体中居中显示的设置

MDI子窗体在父窗体中居中显示的设置
  • furturerock
  • furturerock
  • 2010年06月22日 22:25
  • 3401

C#下让MDI子窗体布满父窗体的整个工作区

 前提是你已经建立了一个窗体Form1,并设置窗体的  IsMdiContainer  属性为真,其次就是建立窗体的子窗体Form2,并设置所有的窗体的FormBorderStyle属性为FixedS...
  • sbz0409
  • sbz0409
  • 2009年01月12日 13:37
  • 3827

C#中MDI子窗体的创建方法

C#中去掉了窗体的MDIChild属性,如果要为MDI主窗体添加一个子窗体的话,现在要用代码来实现假如新建了一个名为NewForm的窗体来做为子窗体,那么要在显示这个窗体的地方加入如下代码:NewFo...
  • xiaoxinghappy
  • xiaoxinghappy
  • 2006年12月18日 06:49
  • 5771

MDI窗体的概念、作用

接触MDI窗体已经很久了,用了也非常多,如今在一些用户体验好的软件上,也多采用MDI窗体技术,如我们现在常用的遨游浏览器,还有Word、Excel等。 但是什么是MDI窗体呢?在网上搜了下,发现居然...
  • zibinghanmo
  • zibinghanmo
  • 2014年11月02日 13:14
  • 835

Winform MDI

VS2012创建Winform MDI 程序的步骤
  • u013688451
  • u013688451
  • 2016年10月17日 16:52
  • 521

WPF MDI窗体的实现方法

用了一段时间的WPF,居然发现WPF不支持MDI窗体!这么重要的功能微软居然给忽略了? 微软的开发团队解释:因为WPF带来革命性的窗口布局的新特性,所以不希望再看到 the overlapping w...
  • soft2buy
  • soft2buy
  • 2010年04月13日 10:30
  • 11400

WPF实现MDI窗体

添加引用API方法 using System.Runtime.InteropServices; using System.Windows.Interop; namespace JfCooperate ...
  • kwy15732621629
  • kwy15732621629
  • 2016年06月14日 19:26
  • 1092
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VisualC#中MDI窗体初步
举报原因:
原因补充:

(最多只允许输入30个字)