Enable/disable on radio button in app designer

12 views (last 30 days)
In App Designer, I have created a radio button group with three buttons. The buttons select which set of data to graph. Call the three buttons Choice1, Choice2, and Choice3.
If a certain selection of other controls is made in the app, I want to disable the Choice2 and Choice3 buttons and force the selected button to be Choice1.
If different set of selections is made, I want to re-enable the other Choice2 and Choice3 buttons and allow them to be selected.
Is it possible to do this? If so, how?

Accepted Answer

Walter Roberson
Walter Roberson on 25 Jun 2025
You can create app.bg as a uibuttongroup and populate it with uiradiobutton .
Later, you can
bc = [app.bg.Children];
set(bc(1:end-1), 'Enable', 'off')
bc(end).Enable = 'on';
app.bg.SelectedObject = bc(end);
to enable the first button and disable the other objects.
To restore,
bc = [app.bg.Children];
set(bc, 'Enable', 'on');
app.bg.SelectedObject = bc(end);
  3 Comments
Walter Roberson
Walter Roberson on 25 Jun 2025
You could set the UserData property of each of the button children, set it to an index. Then
app.bg.SelectedObject.UserData
would give you the index
Or you could
[tf, idx] = ismember(app.bg.SelectedObject, app.bg.Children);
and then if tf is true, idx would be the index in reverse creation order (e.g, if there were 3 children then index 3 would correspond to the first created.)
Jim McIntyre
Jim McIntyre on 30 Jun 2025
Thank you for the additional suggestions.

Sign in to comment.

More Answers (0)

Categories

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

Products


Release

R2025a

Community Treasure Hunt

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

Start Hunting!