为什么模态/无模式对话框称为模态/无模式?

时间:2009-10-22 14:49:06

标签: user-interface modal-dialog modeless

我总是无法记住模态或无模式对话框是否是应用程序其他部分中的阻塞操作。

有谁知道为什么这样被叫?

4 个答案:

答案 0 :(得分:23)

使用模式对话框,您可以将应用程序设置为特定的 模式 (如果愿意,则设置为不同的“状态”),此时只有与该“模式”相关的操作被接受,因此阻止了对话之外的UI动作。

在Andreas的提示下,我认为我可能不得不挖掘尘埃的Windows API书籍,因为经常被广泛接受的词或表达的词源/起源只能在早期文档中找到,但实际上我们仍然看到这一点在an online glossary from MS中引用。模态条目读取(强调是我的):
模态
由于在模式下操作而导致的限制性或有限的交互 。 Modal通常描述限制用户与所有者窗口交互的辅助窗口。另见:无模式。

答案 1 :(得分:4)

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

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

答案 2 :(得分:2)

我相信这是Linguistic Modality的提示。 “模态”对话框(通常)用于显示属于以下典型模态的信息:

  • 声明
  • 疑问句
  • 感叹句

为什么我觉得这种情况的一部分,虽然我正在寻找一个更明确的答案,是讨论模态对话的方式。例如,取MSDN - 他们的标准是“显示重要消息的对话框应始终是模态的。”,可以很容易地重写为“内容为声明模式的对话框[模态的语言定义]应该创建为模态窗口。“

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

答案 3 :(得分:0)

看起来唯一的原因是它与modesmode errors有关。