2016-02-01 152 views
0

所以我創建了一個pictureboxes矩陣,我想獲得每個picturebox的索引,即在該矩陣中點擊的picturebox的「i」和「j」。c#picturebox矩陣索引

在這裏,我創建的矩陣和點擊方法:

for (int i = 0; i < 3; i++) 
      for (int j = 0; j < 3; j++) 
      { 
       place[i, j] = new PictureBox(); 
       place[i, j].Parent = table; 
       place[i, j].Size = new Size(100, 100); 
       place[i, j].Location = new Point(100 * i + 20 * i, 100 * j + 20 * j); 
       place[i, j].Cursor = Cursors.Hand; 
       place[i, j].Click += new EventHandler(p_Click); 
      } 

void p_Click(object sender, EventArgs e) 
    { 
     var current = sender as PictureBox; 
    } 

如何獲得「我」和「j」?

+0

您可以反向操作,並使用該位置來確定單擊了哪個PB。 – SpaceSteak

+0

嗯,問題是我想要創建另一個int矩陣,我想要在被點擊的圖片框的位置放置一個int int第二個int矩陣。 – Xyntell

+0

您可以從@ ChrisF的答案中存儲int的值。 – SpaceSteak

回答

0

你知道被點擊的位置。

確保它是相對於圖像的左上角,然後簡單的整數運算會給您單擊的單元格:

int i = location.X/100; 
int j = location.Y/100; 

我注意到你有一個偏移量(邊境)所以你也必須考慮到這一點。

+0

這是一個很好的竅門。謝謝! – Xyntell

0

您可以將索引3*i+j保存在PictureBox.Tag中,然後在處理程序中檢索它。