c#mdi窗体和普通窗体有什么区别
MDI窗体是和SDI窗体对应的一个名词 MDI(Multiple Document Interface)多文档界面 SDI(Single Document Interface)单文档界面 举个MDI的例子:photoshop,当我们打开一个PS工程的时候,会出现一个子窗口,当我们再开启N多个其它工程的时候,会再出现若干个其它工程窗口,只要我们在其中的选项卡中选择,就可以切换这些MDI窗体。 是否使用MDI,与我们所开发的软件想要实现什么功能有直接的关系,当然,MDI也不仅仅是像PS那样开始效果赞同的几个窗体,也可以开启功能不同的各类窗体,比如旁边的颜色面板、历史记录面板等等,都可以把它说成了MDI MDI最大的一个特点是,你所新建的MDI窗体是移不出主窗体之外的,它就像是嵌套在了你的主程序之中的一个小程序,它与主程序之间建立数据通讯要比独立的SDI窗体之间容易许多,这涉及到程序安全问题了,一般一个简单的委托就可以实现。 而SDI窗体一般是小型项目,要实现一个简单的功能,没必要弄出多少窗口就可以完成的时候,可以使用SDI,当然,你也可以使用多个SDI开发一个程序,比如主程序有一个“浏览”按钮,我一点这个按钮就再开一个SDI来浏览所需要的信息,而这个新打开的用于浏览的窗口并不需要与主窗体之间进行通讯,这时候使用SDI就比使用MDI好多了。 好了,就说这么多吧,具体的东西还需要你多多去搜索一下,看看别人的教程和博客,你会受益良多。
C#把一个窗体设置成属于一个MDI窗体的子窗体
第一个MDI主窗体Form2 f = new Form2();f.Owner = this; //设置第二个窗口的Owner为主窗体f.ShowDialog();第二个窗体Form3 f = new Form3();f.MDIParent = this.Owner; //设置第三个窗体成为MDI主窗体的子窗体f.Show();C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。[1] C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。