说说模态化6:与模态对话框的交互原则

说说模态化6:与模态对话框的交互原则

作者:BlogUpdater |  时间:2022-06-02 |  浏览:1266 |  评论已关闭 条评论

书接上回,之前我们讲述了为模态用户界面(UI)设置正确的所有者窗口的重要性。

在操作一个模态化的窗口时,我们对它所展示的模态性也应当给予相当的”尊重”。
例如,让我们回想一下,在我们在上一篇文章中的例子程序中,它调用了 MessageBox 函数来显示了一个模态对话框。 如果我们想让主该程序退出,采用的方法是:向主窗口(而不是其模态对话框)发送 WM_CLOSE 消息,则主窗口可能会退出,同时,模态弹出窗口会被”搁浅”,从而导致与我们在第4篇中看到的相同的窗口堆栈。

所以,我所希望表达的观点是:请尊重窗口的形态。

如果一个窗口被禁用了,则请不要试图让它做任何事情,它被禁用了,说明它现在压根就不想做任何事情。你可以在窗口堆栈上寻找这个窗口上的模态弹出窗口,并与该弹出窗口对话。 (当然,除非该弹出窗口本身也被禁用,在这种情况下你可以继续向上搜索。)

因此,用户在使用软件过程中所感受到的,应当和程序开发者所实现的程序逻辑相一致。一个模态化的窗口展示在用户面前之后,用户只能先和这个模态窗口打交道直至关闭它,而程序开发者也应该在代码层面先处理和模态窗口相关的逻辑,虽然此时,程序可以处理其他窗口,但是,请你抵制住诱惑,先完成模态交互流程再说。

总结
虽然Windows系统中有很多弹出式窗口设计,但在Topomel Box的设计之初,我就对自己说:一定得尽可能地少弹窗,弹窗一定会中断用户的工作流和思维流,这和Topomel Box的高效率特性相违背。
但是,有些特殊场景下,我还是会设计一些弹窗窗口,我好像无法100%的杜绝弹窗。

亲爱的用户,小弟我真的是尽力了。

最后
Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《Modality, part 6: Interacting with a program that has gone modal》

最近我写了个东西
正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。
我想:你值得拥有。

标签:

评论已关闭。