PictureBox没有加载并显示到表单

时间:2014-08-15 13:01:37

标签: c# picturebox

我不明白为什么这不会在表格中显示新的PictureBox:

private void Form1_Load(object sender, EventArgs e)
        {
            generateTable();
        }
        public void generateTable()
        {
            //setting up the background tiles
            PictureBox setup = new PictureBox();
            setup.Width = 100;
            setup.Height = 100;
            setup.Location  = new Point(100,100);
            setup.Image = new Bitmap(Application.StartupPath+@"\BlankArea.png");
            setup.Visible = true;
            this.Controls.Add(setup);
        }

它找到了图像(用另一个图片框测试)。

3 个答案:

答案 0 :(得分:0)

如果您通过VisualStudio运行应用程序,您的图像BlankArea.png将在您的exe项目的bin \ Debug文件夹中查找蜜蜂。

您的代码适合我。

答案 1 :(得分:0)

您确定Form1_Load事件回调是否通过Designer绑定到Form1?

另外,您是否检查过您的图像是否正常?尝试将“设置”的背景颜色设置为突出的东西 - 如红色。

答案 2 :(得分:0)

正如@TaW所建议的那样,本地答案是正在创建Picturebox并将其添加到表单本身后面。使用以下代码对我来说非常合适!

//Apply the correct icon
if (icon != MessageBoxIcon.None)
{
    PictureBox pbIcon = new PictureBox();

    pbIcon.SizeMode = PictureBoxSizeMode.AutoSize;
    switch (icon)
    {
        case MessageBoxIcon.Asterisk:
            pbIcon.Image = SystemIcons.Asterisk.ToBitmap();
            break;
        case MessageBoxIcon.Question:
            pbIcon.Image = SystemIcons.Question.ToBitmap();
            break;
    }
    pbIcon.Location = new Point(0, 0);

    this.Controls.Add(pbIcon);
    pbIcon.BringToFront();
}

在此背景下,icon是......

MessageBoxIcon icon = MessageBoxIcon.Question;