更改 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);
}

其中名称会自动更改以测试特定复选框。任何帮助表示赞赏。

更改 C# 线条形状时如何避免大开关

为什么不将它们添加到List<>或数组并使用索引器设置对象的可见性?

类似的东西

lineShapes[pos-1].Visible = true;
pos == 1 ? lineShapes[lineShapes.Length - 1].Visible = false : lineShapes[pos-2].Visible = false;