2013-03-03 96 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