1
當我單擊它時,如何更改數組中標籤的BackColor?由於有多個元素,因此無法爲每個單獨的標籤手動激活每個事件。在Windows窗體中使用C#在點擊時改變背景顏色
for (int i = 0; i < 361; i++)
{
board[i] = new Label();
board[i].Parent = pictureBox1;
board[i].Location = new Point(x, y);
board[i].Name = "label" + i;
board[i].BackColor = Color.Black;
//set size of labels
board[i].Size = new Size(30, 30);
//initialize click event handler
this.board[i].Click += new System.EventHandler(this.labelClick);
}
private void labelClick (object sender, EventArgs e)
{
foreach (Label i in board)
{
if (iteration % 2 == 0)
{
i.BackColor = Color.Black;
iteration++;
}
else if(iteration % 2 == 1)
{
i.BackColor = Color.White;
iteration++;
}
}
}
查看我的編輯 – user1925801
@ user1925801根據您的編輯歷史記錄,您似乎可能已經解決了您的問題。不過,我不清楚你的目標結果是什麼。您是否想要使用所有透明標籤加載表單,然後當用戶單擊任何標籤時,所有標籤都會變成棋盤圖案? –
問題已解決。我有我的for循環的東西,不應該在那裏(沒有圖片)。也不知道透明真的意味着父元素的背景顏色。因此,我擺脫了作爲背景圖像的圖片框,而是設置了表單本身的背景圖像,然後將標籤設置爲backcolor = transparent,並獲得了我的解決方案。 – user1925801