Assigning array-type names to elements of a GUI or App

1 次查看(过去 30 天)
How can I assign names coming from a string array to the elements of an App?
Example: I have the following string array
CBNames= ["NameCheckBox" "PhoneCheckBox" "AddressCheckBox"]
Now, when trying to change the Value property of the PhoneCheckBox in may App, I would like to refer to it as:
app.CBNames(2).Value=1
But when I try this I receive an error message that says:
Unrecognized method, property, or field 'CBName' for class 'MAINApp'
Is there a way to do this or is this categorically impossible in Matlab?

采纳的回答

Matt J
Matt J 2021-12-26
app.(CBNames(2)).Value=1
  3 个评论
Saeid
Saeid 2021-12-26
By the way, is there a way to refer to more than one element in one command?
Something like:
app.(CBNames(1:4)).Value=1
Matt J
Matt J 2021-12-26
You could create a property which stores a vector of handles to your checkboxes.
app.checkboxes=arrayfun(@(el)app.(el), CBNames);
Then, you can manipulate them as a group by doing things like,
set(app.checkboxes,'Value',1)
set(app.checkboxes,{'Value'},{1,0,1,0}')

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Develop Apps Using App Designer 的更多信息

产品


版本

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by