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

1 view (last 30 days)
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?

Accepted Answer

Matt J
Matt J on 26 Dec 2021
app.(CBNames(2)).Value=1
  3 Comments
Saeid
Saeid on 26 Dec 2021
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 on 26 Dec 2021
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}')

Sign in to comment.

More Answers (0)

Categories

Find more on Develop Apps Using App Designer in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!