Disable Edit Text with Checkbox
Mostrar comentarios más antiguos
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
Respuestas (1)
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 comentarios
Jan Lützenkirchen
el 26 de Jul. de 2018
Ok, even though that didn't fix your problem, strcmp() is the way to compare strings; not with '=='.
I think I see what the problem is. If 'White_Noise' is the checkbox, you're conditioning on whether the checkbox is enabled or not rather than value of the check box. You want the 'Value' property, not the 'Enable'.
Change the appropriate lines to this
WN = get(handles.White_Noise,'Value');
if WN
...
else
...
end
Jan Lützenkirchen
el 27 de Jul. de 2018
The value property is a logical. So all you need is
if WN
if ~WN
Categorías
Más información sobre Startup and Shutdown en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!