2012-10-14 20 views
0

1) 我開發了一個c#用戶控件。 在該控件中,我有一個按鈕。當用戶在運行時點擊按鈕時,會在前一個pictureBox旁邊創建一個新的控件(例如pictureBox)。在運行時將控件添加到c#用戶控件,並且能夠管理它們

我做了這樣的說法:

PictureBox pb = new PictureBox(); 
pb.Location = new Point(oldPb.X, oldPb.Y + 100); 
pb.Size = oldPb.Size; 
Controls.Add(pb); 

的問題是,我想能夠管理所有創建的項目。 例如,我想要索引pictureBoxes,然後從用戶獲取一個數字並更改想要的photoBox的照片。 例如:

我該怎麼辦?

2) 我希望能夠識別用戶何時點擊其中一個photoBox並對選定的photoBox執行操作。 我該怎麼做?

感謝

回答

0

您可以使用圖片框的Tag屬性來存儲某種指標。

然後你可以有你的PictureBoxes響應click事件:

pb.Click += new EventHandler(picturebox_Click);

,並檢查代碼有

private void picturebox_Click(object sender, EventArgs e) 
{ 
    PictureBox pb = sender as PictureBox; 
    if (pb != null) 
    { 
    string s = pb.Tag 
    } 
} 
1
List<PictureBox> pictureBoxes = new List<PictureBox>(); 

for (int i = 0; i < 10; i++) 
{ 
    PictureBox pb = new PictureBox(); 
    pb.Location = new Point(.....); 
    pb.Size = ......; 
    pb.Click += pb_Click; 
    Controls.Add(pb); 
    pictureBoxes.Add(pb); 
} 

pictureBoxes[3].Image=..... //Use like this 

void pb_Click(object sender, EventArgs e) 
{ 
    PictureBox pb = sender as PictureBox; 
    //Do work 
} 
相關問題