2013-03-03 92 views
0

我想自動創建一個PictureBox。如何在代碼中進行更改:如何自動創建picturebox?

private void button1_Click(object sender, EventArgs e) 
{ 
    PictureBox[] box = new PictureBox[textBox1.Text.Length]; 
    for(int j=0;j<textBox1.Text.Length;j++) 
    box[0] = pictureBox1; 
    box[1] = pictureBox2; 
    box[2] = pictureBox3; 
    for (int i = 0; i < textBox1.Text.Length; ++i) 
    box[i].Image = Image.FromFile(string.Format(@"c:\obrazki\{0}.jpg",textBox1.Text[i])); 
} 
+0

你想要什麼?這是什麼與textBox1.Text.Length循環? – 2013-03-03 12:27:21

+0

那麼,什麼是不工作?我只能猜測,這是創建的圖片框不會出現在您的表格上,但沒有您說任何事情只是一個猜測。 – ChrisF 2013-03-03 12:27:23

+0

爲文本框中的每個字符分配一個圖片框。我希望創建自動輸入不同長度的字符串。我有字符串「abc」a = pictureBox1,b = pictrureBox2,c = pictureBox3。當我有'ab'a = pictureBox1 b = pictureBox2。我會自動做。因爲我有3個字符,創造3個點羧基等。 – abdicode 2013-03-03 12:33:39

回答

0

您應該使用FlowLayoutPanel控件來保存您的PictureBox控件。然後代碼看起來像這樣:

void button1_Click(object sender, EventArgs e) { 
    while (flowLayoutPanel1.Controls.Count > 0) { 
    flowLayoutPanel1.Controls[0].Dispose(); 
    } 

    for (int i = 0; i < textBox1.Text.Length; ++i) { 
    PictureBox pb = new PictureBox(); 
    pb.Image = Image.FromFile(string.Format(@"c:\obrazki\{0}.jpg",textBox1.Text[i])); 
    flowLayoutPanel1.Controls.Add(pb); 
    } 
} 
+0

哇謝謝你的幫助。我失去了一點點的pictureboxs – abdicode 2013-03-03 13:20:03