哪个更好:MDI儿童,还是无模式对话?

时间:2010-03-16 02:22:03

标签: winforms mdi modeless

每个人的利弊是什么?

3 个答案:

答案 0 :(得分:3)

取决于。

如果用户通常会一次关注一个文档,并且希望尽可能多地查看,请使用MDI(或选项卡式MDI)。

如果用户想要同时与许多较小的表单进行交互,请使用自有的非模态表单(例如工具窗口)。

您也可以同时使用 a la Visual Studio。

答案 1 :(得分:2)

这取决于很多因素,最重要的是您希望用户如何与您的应用程序进行交互(或者他/她如何选择这样做)。

例如,旧的互联网浏览方式有很多不同的窗口会混乱任务栏。现在,新的趋势是标签,每个人都在朝着它迈进。

相反,MS Office正朝着相反的方向发展。您曾经在一个窗口中打开了大量文件,但现在它们在任务栏中混乱。

标签的优点是你可以同时看到它们,然后你可以用热键快速切换。然而,Office正在[菜单栏] - [windows] - [文件名]中隐藏这些文件。文件之间的变化很痛苦。

MDI最初是针对两种过时的模式发明的,这两种模式是“马赛克”,其中每个窗口被布置成具有大约相同的高度/宽度和“级联”。我从未遇到过喜欢这些模式的单个用户。

新的趋势是拥有裁剪窗口,就像Slaks所说,例如在Visual Studio或大多数开发环境中,您需要同时查看大量数据。这种方法是“马赛克”模式的明显继承者,但是具有很大的优势,无论何时调整大小或移动单个窗口,所有其他方法都会自动重新排列。

答案 2 :(得分:0)

+1 @ SLaks的回答。

如果用户需要将显示的数据用作其他任务的一部分,那么对于一些对话式窗口实际上是无模式的,这可能很重要。

例如,SQL Server Management Studio中的某些对话框实际上是无模式的,即使它们可能有“确定”和“取消”按钮;数据库属性窗口就是这样的野兽。