Disable Edit Text with Checkbox

5 次查看(过去 30 天)
Hello Everybody, I need your Help. I build a GUI and I want to activate or deactivate a Edit Text Box with the Help of a Checkbox. The following is my Code for this Problem:
WN = get(handles.White_Noise,'Enable');
if WN == 'on'
set(handles.WN_per,'enable','on');
set_param('Physikalisches_Modell/Noise_Enable','Value',num2str(1));
else WN == 'off'
set(handles.WN_per,'enable','off');
set_param('Physikalisches_Modell/Noise_Enable','Value',num2str(0));
WN_per = 0;
end
White_Noise is the Checkbox, WN_per is the Edit Text. The Part, to activate the Edit Text Box works perfectly fine, but i cannot deactivate it with pressing it again.
There was another Topic for this Problem, where the User hat a similar Code and it worked, when he Startet the GUI with the Command Window. Unfortunatly, this is not the Solution.
Can anyone help me?
Tanks, Jan

回答(1 个)

Adam Danz
Adam Danz 2018-7-26
编辑:Adam Danz 2018-7-26
For both conditionals, instead of
if WN == 'on'
use
if strcmp(WN, 'on')
See comments below. You want to condition on the 'Value' property, not the 'Enable'.
  4 个评论
Jan Lützenkirchen
Jan Lützenkirchen 2018-7-27
Thank you very much! Now that I know the Answer, its pretty obvious, that I mistake the handles I used.
I want to add, that the 'Value' gives a number, 0 or 1. So in the if-condition, i set
if WN == 1
....
else if WN == 0
....
end
Adam Danz
Adam Danz 2018-7-28
编辑:Adam Danz 2018-7-28
The value property is a logical. So all you need is
if WN
if ~WN

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Entering Commands 的更多信息

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by