我想知道是否有一种方法可以防止在现有错误对话框尚未出现时出现错误对话框 (errordlg)。我正在 matlab 中开发 GUI,我可以轻松地显示 50 个错误对话框并折叠我的任务管理器,如图所示。
另一方面,我看到警告或错误对话框不允许用户在他参与之前操作 GUI。有办法吗?
提前致谢! 查理
最佳答案
如果同一个回调正在创建错误对话框,您可以通过检查 dbstack
多次调用负责的回调来防止回调重新进入。查看isMultipleCall
function on this blog .
在这里抄袭 Yair Altman 的功能是没有意义的,但使用方法包括将以下行放在创建错误对话框的回调顶部:
if isMultipleCall(); return; end
然后该回调无法再次运行,直到您解决了错误对话框,允许第一个调用终止。
但是,您可以使用名为 'modal'
的 'WindowStyle'
创建错误对话框,这将阻止与任何其他 MATLAB 窗口的交互,直到对话框关闭。
关于matlab - Matlab 中的持久性错误对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19826251/