我是這里的新手,也是c語言的新手。
我的項目是在網(wǎng)格視圖中創(chuàng)建一個框。然后,當單擊所需的框時,我將獲得框坐標或位置,框?qū)⒏念伾螕袅硪粋€框時,上一個框的顏色將更改為原始顏色。
當行x列的總大小大于panel2大小時,該框?qū)⒄{(diào)整大小。
我想通過添加新按鈕NEXT來擴展代碼的功能,當單擊時,下一個圖片框?qū)⒏吡溜@示,坐標也將更新。如何將新按鈕與現(xiàn)有圖片框聯(lián)系起來?
for (int cols = 0; cols < COLUMNS; cols++)
{
for (int rows = 0; rows < ROWS; rows++)
{
PictureBox newPic = new PictureBox();
newPic.Height = HEIGHT;
newPic.Width = WIDTH;
newPic.BackColor = Color.Maroon;
int x = cols * (HEIGHT + SPACE);
int y = rows * (WIDTH + SPACE);
newPic.Location = new Point(x + SPACE, y + SPACE);
newPic.Click += NewPic_Click;
items.Add(newPic);
this.panel2.Controls.Add(newPic);
}
}
僅用于顏色切換,您只需要單擊的
PictureBox
。它存儲在sender
參數(shù)中。如果你想要坐標,你需要在
PictureBox
上存儲一些信息。您不想指定50個處理程序。我的做法是:;使用控件的Tag
屬性。您的for-loop應該是:
你的處理程序應該是這樣的:
我沒有測試過,只是在記事本上。所以可能有一些拼寫錯誤。但我希望你能理解。