欢迎光临散文网 会员登陆 & 注册

【MATLAB App Desinger】关于控件的句柄是否有效

2021-11-16 10:59 作者:-何其-  | 我要投稿

背景

    在通过function函数对指定控件进行赋值,经常性存在该控件不存在的还强行赋值导致出错的情况。

解决方法

    百度了下,可以用ishandle函数来实现控制,测试后对部分内容并没有效果

控件变量:objHandle.Progressdlg
ishandle函数的效果并不好

    实际使用中,ishandle函数属于有时有效有时无效的情况,具体情况尚未做区分,但为了解决这种情况,可以结合函数isvalid进行辅助判断。

isvalid同样也存在时灵时不灵的情况
参考连接

    现在采用组合的方式判断给定控件句柄objHandle.Progressdlg是否有效,目前整个项目运行阶段尚未发生报错的问题。

    ~isempty( objHandle ) && isfield( objHandle , 'Progressdlg' ) == 1 && ~isempty( objHandle.Progressdlg ) && ( ishandle( objHandle.Progressdlg )  == 1 || isvalid( objHandle.Progressdlg ) == 1 )

参考链接

https://ww2.mathworks.cn/help/matlab/ref/ishandle.html

官方帮助文档中,ishandle是测试是否有效的图形或 Java 对象句柄,而  方法是确定使用  类句柄对象的有效性; 对图形对象使用,

【MATLAB App Desinger】关于控件的句柄是否有效的评论 (共 条)

分享到微博请遵守国家法律