1

如何防止我的应用程序中的其他窗口接收焦点?我想将加载窗口放在前面并让它做它的事情,但我不希望用户能够与应用程序中的其他窗口进行交互。

我可以简单地隐藏应用程序中的其他窗口,但是让用户的窗口突然消失感觉有点刺耳。同时,我不能让用户在加载期间继续与其他窗口交互,因为加载将更新每个窗口上的数据(会出现同步问题)。我可以添加额外的锁定机制,但如果它像强制单个窗口保持在顶部并保持焦点一样简单,我宁愿不这样做。

谢谢!

4

1 回答 1

1

查看模态窗口。

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/WinPanel/Concepts/UsingModalWindows.html

您可以使整个窗口或面板以应用程序模式的方式运行,使用应用程序的正常事件循环机制,但限制对模式窗口或面板的输入。模态操作对于需要用户注意才能进行操作的窗口和面板很有用。示例包括错误消息和警告,以及需要输入的操作,例如打开的对话框或适用于多个窗口的对话框。

于 2012-10-26T02:15:15.697 回答