Execute multiple statements within an 'if' construct
显示 更早的评论
I am trying to set properties of 3 textbox based on the state of a radiobutton. If the radiobutton is selected, I want the textboxes to be grayed so the user cannot enter values. My code works if I set only one textbox. However, I can't get it to change all of teh textboxes at the same time. Here is my code so far:
if (get(handles.radiobutton1 ,'Value') == get(handles.radiobutton1 ,'Max'))
set(handles.edit4,'Enable','off', 'BackgroundColor', 'gray')
set(handles.edit5,'Enable','off', 'BackgroundColor', 'gray')
set(handles.edit6,'Enable','off', 'BackgroundColor', 'gray')
else
set(handles.edit4,'Enable','on', 'BackgroundColor', 'white')
set(handles.edit5,'Enable','on', 'BackgroundColor', 'white')
set(handles.edit6,'Enable','on', 'BackgroundColor', 'white')
end
Is there a way to use "set" to apply to more than one function handle at a time? Or why I can't I have multiple statements within my "if"?
Thank you in advance!
1 个评论
Jan
2012-4-10
You forgot to mention, which problem appears. Do you get an error message?
采纳的回答
更多回答(1 个)
Jan
2012-4-10
Actually this should work:
H = [handles.edit4, handles.edit5, handles.edit6];
if (get(handles.radiobutton1 ,'Value') == get(handles.radiobutton1 ,'Max'))
set(H, 'Enable','off', 'BackgroundColor', 'gray')
else
set(H, 'Enable','on', 'BackgroundColor', 'white')
end
But this has no substantial difference to your code. Therefore I assume, you get the same problem - what ever it might be.
类别
在 帮助中心 和 File Exchange 中查找有关 Just for fun 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!