我正在使用一台简单的鼓机,并试图通过显示和隐藏线对象来实现播放位置栏。酒吧总共有32个职位。我目前有一个很大的开关声明。
switch (pos)
{
case 1:
lineShape1.Visible = true;
lineShape32.Visible = false;
break;
case 2:
lineShape2.Visible = true;
lineShape1.Visible = false;
break;
case 3:
lineShape3.Visible = true;
lineShape2.Visible = false;
break;
//cases repeated 32 times
}
我想实现类似的东西,
CheckBox snabox = this.Controls["checkBox" + pos.ToString()] as CheckBox;
if (snabox.Checked)
{
Snare_Click(null, null);
}
其中名称会自动更改为测试特定复选框。 任何帮助表示赞赏。
答案 0 :(得分:3)
为什么不将它们添加到List<>
或数组并使用索引器来设置对象的可见性?
像
这样的东西lineShapes[pos-1].Visible = true;
pos == 1 ? lineShapes[lineShapes.Length - 1].Visible = false : lineShapes[pos-2].Visible = false;