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

Popular posts from this blog

assembly - What is the addressing mode for ld, add, and rjmp instructions? -

vowpalwabbit - Interpreting Vowpal Wabbit results: Why are some lines appended by "h"? -

Is there a way to convert an HTML page styled with Bootstrap CSS into email-compatible html? -