32

我总是难以记住模态对话框还是非模态对话框是应用程序其他部分中的一个阻塞操作。

有谁知道他们为什么被这样称呼?

4

4 回答 4

25

使用模式对话框,您可以将应用程序设置为特定模式(如果愿意,可以设置为不同的“状态”),从而只接受与该“模式”相关的操作,从而防止对话框之外的 UI 操作。

在 Andreas 的提示下,我想我可能不得不挖掘尘土飞扬的 Windows API 书籍,通常,一个已被广泛接受的词或表达的词源/起源只能在早期文档中找到,但实际上我们仍然在一个来自 MS 的在线词汇表。模态条目读取(重点是我的):
modal
Restrictive or limited interaction due to operating in a mode。模态通常描述一个限制用户与所有者窗口交互的辅助窗口。另见:无模式。

于 2009-10-22T14:54:36.333 回答
4

模态系统是具有多种“操作模式”的系统。这样的系统通过使用击键在模式之间切换,例如“Esc”“CTRL+S”。一个很好的例子是在“编辑文本模式”和“导航文本模式”之间切换的 Vim 文本编辑器。

因此,模态对话框是一种通过在操作期间将主程序切换到不同模式来阻止主程序的对话框。

于 2009-10-22T14:54:56.947 回答
3

我相信这是语言模态的一个提示。“模态”对话框(通常)用于呈现属于以下典型模态的信息:

  • 声明式
  • 疑问
  • 感叹词

尽管我正在寻找更明确的答案,但我觉得是这种情况的部分原因是讨论模态对话框的方式。例如,以MSDN为例——他们的标准是“显示重要消息的对话框应始终是模态的。”,这可以很容易地重写为“内容为声明性模态的对话框 [此处模态的语言定义] 应创建为模态窗口。”

这还有其他的先例。例如,对话框中的“对话”一词 - 它被称为“对话框”,因为它应该呈现系统和用户之间的对话或对话 - 另一个回归到计算过程的语言术语。

于 2009-10-22T14:53:37.087 回答
0

看起来唯一的原因是它与模式模式错误有关。

于 2009-10-22T15:00:43.060 回答