c# - Simplify check to show selected control -
c# - Simplify check to show selected control -
so have code. show selected usercontrol when user tap button. if particular usercontrol visible, tapping button hide it.
the code rather repetitive, suggestion how can create more succinct?
private void changecontrol(textcontrol control) { switch (control) { case textcontrol.textbox: if (isradtextboxvisible == true) { isradtextboxvisible = false; } else { isradtextboxvisible = true; } iscountrieslistboxvisible = false; issliderfontsizevisible = false; issliderfontrotatevisible = false; break; case textcontrol.font: if (iscountrieslistboxvisible == true) { iscountrieslistboxvisible = false; } else { iscountrieslistboxvisible = true; } isradtextboxvisible = false; issliderfontsizevisible = false; issliderfontrotatevisible = false; break; case textcontrol.size: if (issliderfontsizevisible == true) { issliderfontsizevisible = false; } else { issliderfontsizevisible = true; } isradtextboxvisible = false; iscountrieslistboxvisible = false; issliderfontrotatevisible = false; break; case textcontrol.rotate: if (issliderfontrotatevisible == true) { issliderfontrotatevisible = false; } else { issliderfontrotatevisible = true; } isradtextboxvisible = false; iscountrieslistboxvisible = false; issliderfontsizevisible = false; break; default: break; } } private void changecontrol(textcontrol control) { isradtextboxvisible = command == textcontrol.textbox ? !isradtextboxvisible : false; iscountrieslistboxvisible = command == textcontrol.font ? !iscountrieslistboxvisible : false; issliderfontsizevisible = command == textcontrol.size ? !issliderfontsizevisible : false; issliderfontrotatevisible = command == textcontrol.rotate ? !issliderfontrotatevisible : false; }
what does:
control == textcontrol.textbox returns either true or false.
now, ternary operator ?: executes code after ? if look before ? returned true, or code after : if look before ? returned false
in case, if control matches, we're executing code after ?, in case toggles property. if control doesn't match, we're executing code after :, sets property false.
c# switch-statement
Comments
Post a Comment