我現在正在使用它來清除 Microsoft Windows 表單上的井字游戲表
button1.Enabled = true;
button2.Enabled = true;
button3.Enabled = true;
button4.Enabled = true;
button5.Enabled = true;
button6.Enabled = true;
button7.Enabled = true;
button8.Enabled = true;
button9.Enabled = true;
button1.Text = "";
button2.Text = "";
button3.Text = "";
button4.Text = "";
button5.Text = "";
button6.Text = "";
button7.Text = "";
button8.Text = "";
button9.Text = "";
但它太長了,所以我想使用這樣的 for 回圈
for (int i = 1; i < 10; i )
{
button[i].Enable = true;
button[i].Text = "";
}
但它不起作用,所以有人可以提出解決方案嗎?
uj5u.com熱心網友回復:
您可以遍歷Controls按鈕的父陣列,例如,您可以將所有按鈕移動到Panel并使用 foreach 遍歷其中的所有控制元件:
foreach(var control in Panel1.Controls) {
if (control is Button button)
{
button.Text = "";
button.Enabled = true;
}
}
uj5u.com熱心網友回復:
我明白你在想什么,但你不能像這樣在 for 回圈中動態更改要編輯的變數的名稱。
在一個for回圈中,它將遍歷一個起始值,直到它達到一個停止條件。當您擁有像 a或 an這樣的資料結構for時,回圈非常有用,您可以在其中列舉以獲取或設定值。ListArray
您擁有的for回圈代碼開始通過 anArray或List名稱為button. 要解決此問題,我建議將按鈕添加到 anArray然后您可以使用foreach回圈來設定值:
foreach (Button button in buttons){
button.Enabled = true;
button.Text = "";
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/457032.html
