我正在開發一個學校的應用程序,您可以在這個應用程序中將遊戲添加到稍後顯示在屏幕上的信息列表中。我將如何循環顯示錶單中的所有複選框?
在表格中,有8個複選框,每個複選框代表一個控制檯。您可以檢查遊戲可用的控制檯。
因此,我想獲得一個包含8個不同值的布爾值數組,每個控制檯一個布爾值。
我相信我的代碼不緊湊,應該有更好的解決方案。有沒有一種方法可以循環使用代碼而不是爲每個複選框編寫代碼?
這是目前我所擁有的。
private void button1_Click(object sender, EventArgs e)
{
bool[] platforms = new bool[8] { false, false, false, false, false, false, false, false };
if (checkBox1.Checked)
{
platforms[0] = true;
}
if (checkBox2.Checked)
{
platforms[1] = true;
}
if (checkBox3.Checked)
{
platforms[2] = true;
}
if (checkBox4.Checked)
{
platforms[3] = true;
}
if (checkBox5.Checked)
{
platforms[4] = true;
}
if (checkBox6.Checked)
{
platforms[5] = true;
}
if (checkBox7.Checked)
{
platforms[6] = true;
}
if (checkBox8.Checked)
{
platforms[7] = true;
}
}
你熟悉Lambda表達式..我會考慮類似的東西..或使用如何循環控制'控件'類..? – MethodMan
您的表單應該有一個屬性'Controls',其中包含對錶單上註冊的每個控件的引用。循環播放並檢查類型(*忽略非複選框控件*)。然後,您可以獲取名稱,並根據名稱獲取最後一個字符的數字值,然後根據控件值(基於上面的邏輯)設置索引。 – Igor
你的表單有'Controls'集合。迭代過濾掉CheckBox。對每個「CheckBox」都將'Tag'屬性關聯到它的語義。 – Tigran