Winforms 哪个更好:MDI子对象,还是无模式对话框?

Winforms 哪个更好:MDI子对象,还是无模式对话框?,winforms,mdi,modeless,Winforms,Mdi,Modeless,它们各自的优缺点是什么?视情况而定 如果用户通常一次只关注一个文档,并且希望看到尽可能多的文档,请使用MDI或选项卡式MDI 如果用户希望同时与许多较小的表单交互,请使用拥有的非模式表单,如toolwindows 您也可以同时使用这两种工具,即la Visual Studio。视情况而定 如果用户通常一次只关注一个文档,并且希望看到尽可能多的文档,请使用MDI或选项卡式MDI 如果用户希望同时与许多较小的表单交互,请使用拥有的非模式表单,如toolwindows 您也可以同时使用两者,即la V

它们各自的优缺点是什么?

视情况而定

如果用户通常一次只关注一个文档,并且希望看到尽可能多的文档,请使用MDI或选项卡式MDI

如果用户希望同时与许多较小的表单交互,请使用拥有的非模式表单,如toolwindows

您也可以同时使用这两种工具,即la Visual Studio。

视情况而定

如果用户通常一次只关注一个文档,并且希望看到尽可能多的文档,请使用MDI或选项卡式MDI

如果用户希望同时与许多较小的表单交互,请使用拥有的非模式表单,如toolwindows


您也可以同时使用两者,即la Visual Studio。

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

例如,旧的互联网浏览方式有很多不同的窗口,这些窗口会把任务栏弄得乱七八糟。现在新的趋势是标签,每个人都在朝着它前进

相反,微软Office正朝着相反的方向发展。过去,在一个窗口中打开很多文件,但现在它们在任务栏中杂乱无章

标签的好处在于,你可以一次看到所有标签,然后用热键快速切换。但是,Office将这些文件隐藏在[菜单栏]-[windows]-[file name]中。在不同的文件之间进行更改非常痛苦

MDI最初是为两种过时的模式而发明的,即马赛克模式,其中每个窗口的高度/宽度和层叠都大致相同。我从未见过一个用户喜欢这些模式


新的趋势是像Slaks所说的那样,在VisualStudio或大多数开发环境中都有裁剪窗口,在这些环境中,您需要同时查看大量数据。这种方法显然是马赛克模式的继承者,但其最大的优点是,无论何时调整或移动单个窗口,所有其他窗口都会自动重新排列

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

例如,旧的互联网浏览方式有很多不同的窗口,这些窗口会把任务栏弄得乱七八糟。现在新的趋势是标签,每个人都在朝着它前进

相反,微软Office正朝着相反的方向发展。过去,在一个窗口中打开很多文件,但现在它们在任务栏中杂乱无章

标签的好处在于,你可以一次看到所有标签,然后用热键快速切换。但是,Office将这些文件隐藏在[菜单栏]-[windows]-[file name]中。在不同的文件之间进行更改非常痛苦

MDI最初是为两种过时的模式而发明的,即马赛克模式,其中每个窗口的高度/宽度和层叠都大致相同。我从未见过一个用户喜欢这些模式


新的趋势是像Slaks所说的那样,在VisualStudio或大多数开发环境中都有裁剪窗口,在这些环境中,您需要同时查看大量数据。这种方法显然是马赛克模式的继承者,但其最大的优点是,无论何时调整或移动单个窗口,所有其他窗口都会自动重新排列

+1表示@SLaks的答案

如果用户需要将显示的数据作为另一项任务的一部分使用,那么拥有一些实际上是无模式的对话框样式的窗口可能很重要


例如,SQLServerManagementStudio中的一些对话框实际上是非模态的,尽管它们可能有OK和Cancel按钮;“数据库属性”窗口就是这样一个怪兽。

+1是@SLaks的答案

如果用户需要将显示的数据作为另一项任务的一部分使用,那么拥有一些实际上是无模式的对话框样式的窗口可能很重要


例如,SQLServerManagementStudio中的一些对话框实际上是非模态的,尽管它们可能有OK和Cancel按钮;“数据库属性”窗口真是个怪兽。

我们是在谈论Windows窗体中的MDI子窗体和模式对话框吗?是的,这就是我的意思。相关:我们是在谈论Windows窗体中的MDI子窗体和模式对话框吗?是的,这就是我的意思。相关: