1. 窗体(Form)更多的是从Windows GUI架构设计来看的,Windows中一切ui元素都是
窗口(Window)组成的。窗体是容器窗口,用于包含其它窗口。
2.对话框(Dialog)更多的是从人机交互形式来看的,电脑给出提示所需参数并等待用户输入,使用者输入数据后执行--犹如一问一答的对话双方。现在Windows GUI程序中一般用窗体来实现这个人机交互形式。由于是用窗体系统实现Dialog,为了达到等待用户输入的目的因此引入了模态窗体概念。
但是英文里面Dialog只是指对话这种交互形式,所以Dialog也可以是不用窗体实现的,例如语音电话系统。
再观察Winform库的设计,主要的ui体系基本都是窗口元素例如,UI控件基础Control,顶层容器Form。Dialog是做为Form的一种使用形式定义为Form class的方法。
Winform库中虽然也有例如FileOpenDialog,PageSetupDialog等对话框类,但是仔细观察可以发现它们提供的属性基本是输入输出参数,这些都是对话相关的属性,而关于UI的属性(例如size, location)则几乎没有。
这也说明Winform在设计的时候对Form和Dialog这两个概念也是区别对待的。
窗体和对话框 "继承与被继承的关系"可以这么理解!