Max number of checked checkboxes/radiobuttons
1 view (last 30 days)
Show older comments
Hi i have GUI with 18 checkboxes/radiobuttons. Dont know what is better for me...Is there way to set that only two of them can be checked at the same time?? Thanks.
0 Comments
Accepted Answer
Walter Roberson
on 12 Apr 2013
Only by using the callbacks to check and enforce it.
9 Comments
Image Analyst
on 14 Apr 2013
function CountSelectedStates(hobject, event, handles)
% Get states of all the checkboxes.
selectedStates(1) = get(handles.checkbox1, 'value');
selectedStates(2) = get(handles.checkbox2, 'value');
selectedStates(3) = get(handles.checkbox3, 'value');
selectedStates(4) = get(handles.checkbox4, 'value');
% Count how many are checked right now.
totalNumberSelected = sum(selectedStates);
% Check which one was just toggled
if hObjects = handles.checkbox1
% If you want to implement Walter's suggestion.
% They just clicked on checkbox 1.
% more code.....
end
if totalNumberSelected >= 3
% Clear states of all the checkboxes, like you wanted.
selectedStates(1) = get(handles.checkbox1, 'value');
selectedStates(2) = get(handles.checkbox2, 'value');
selectedStates(3) = get(handles.checkbox3, 'value');
selectedStates(4) = get(handles.checkbox4, 'value');
% Keep the one they clicked on checked.
set(hObject, 'value', 'on');
end
and so on.
Walter Roberson
on 14 Apr 2013
Some small corrections to the above:
if hobject == handles.checkbox1
and to clear the check boxes, do not get() the values, instead
set(handles.checkbox1, 'value', 0);
More Answers (0)
See Also
Categories
Find more on Migrate GUIDE Apps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!