c# 窗体和对话框的区别 谢谢!

解决方案 »

  1.   

    对话框是有模的 前台独占
    窗体不一定 当然你也可以用ShowDialog()让它有模显示
      

  2.   

    对话框也是特殊的窗体,c#里所有窗口都可以ShowDialog()显示为对话框模式
      

  3.   

    对于窗体,只要把FormBorderStyle的属性改为FixedDialog就可以做出一个自定义对话框了。我的理解是:窗体是可以看作是一个自定义对话框,它与对话框的区别就像是自定义类与Int类、String类之间的关系一样。前者可以随作者自己的意愿随便进行一些定义,而后者则受系统预定义属性的限制。
    不知道说的对不对,请高手点评。但我想最重要是自己有自己的理解了,多参考点其它书籍吧。
      

  4.   

    区别主要在Show,ShowDialog方面。一言半语讲不完。可以加我的MSN跟你聊。就是我这个账户的邮箱。
      

  5.   

    所谓区别,不过是样式和行为的区别而已,不存在什么继承之类的关系
    windows and dialog 样式在win32下有很大区别,sdk 作窗口需要你提供一个结构wndclass
    他来表明窗口的样式等等
    dialog一般是通过资源文件里的dialog模版来实现的。
    所谓行为,一般由windows本身提供一些基本操作+ 窗口和对话框的回调函数结合而成。

    .net下没有这些区别,窗口和对话框都是由统一的wndclass,
    要非要说区别只是dialog和窗口的操作的系统提供部分有一些区别,类似模态