我不明白为什么这不会在表格中显示新的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);
}
它找到了图像(用另一个图片框测试)。
答案 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;