更改 C# 线条形状时如何避免大开关
本文关键字:何避免 开关 更改 | 更新日期: 2023-09-27 17:57:20
我正在研究一台简单的鼓机,并试图通过显示和隐藏行对象来实现播放位置栏。该酒吧总共将有 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);
}
其中名称会自动更改以测试特定复选框。任何帮助表示赞赏。
为什么不将它们添加到List<>
或数组并使用索引器设置对象的可见性?
类似的东西
lineShapes[pos-1].Visible = true;
pos == 1 ? lineShapes[lineShapes.Length - 1].Visible = false : lineShapes[pos-2].Visible = false;