在開發計算機或井字棋等應用時,經常需要創建多個功能相同的控件(如數字按鈕、棋盤格)。若逐個手寫代碼,不僅冗長難維護,修改時更是頭痛。透過控件陣列技術,可動態批量生成並統一管理這些控件,大幅提升開發效率。
以下示範在 Windows Forms 中建立 3x3 的按鈕矩陣:
Button[] btns = new Button[9];
private void ShowButtonArray()
{
for (int i = 0; i < 9; i++)
{
btns[i] = new Button(); // 必須實例化每個元素
btns[i].Location = new Point(100 + 50 * (i % 3), 100 + 50 * (i / 3));
btns[i].Name = "btnTest";
btns[i].Size = new Size(48, 48);
btns[i].Text = i.ToString();
btns[i].Click += new EventHandler(this.btns_Click); // 統一事件處理
this.Controls.Add(btns[i]);
}
}
private void btns_Click(object sender, EventArgs e)
{
MessageBox.Show(((Button)sender).Text + " was clicked!");
// 透過 sender 判斷觸發事件的具體按鈕
}
private void Form1_Load(object sender, EventArgs e)
{
ShowButtonArray();
}
將控件陣列封裝為類別,可加入自定義屬性、方法,支援更複雜的交互邏輯。甚至可將自訂控件做成陣列類,構建高度可復用的 UI 組件庫。