我一直在尝试通过代码动态地向Windows窗体添加元素。 我需要创建一个PictureBox元素。所以,我有以下代码:
private void Form1_Load(object sender, EventArgs e)
{
//stylise form
this.BackColor = System.Drawing.Color.Black;
PictureBox bgui = new PictureBox();
bgui.Image = Properties.Resources.attack_box;
bgui.Name = "bgui";
bgui.Location = new Point(0, 600);
this.Controls.Add(bgui);
bgui.Visible = true;
}
但是,当运行此代码时,除了我之前设置的黑色背景外,我什么也得不到。我看过许多类似于我的问题;并且他们都说我需要将它添加到我已经完成的控件中,但它仍然没有显示。
如果你能让我深入了解我的错误行为,我将非常感激。
谢谢,Computo。
答案 0 :(得分:0)
您需要设置Width
的{{1}}和Height
属性。
试试这个:
PictureBox
完整代码:
bgui.Width = 500;
bgui.Height = 500;
答案 1 :(得分:0)
原来System.Drawing.Point
没有转化为屏幕上的实际像素。我将不得不调查Point
如何转化为像素。
答案 2 :(得分:0)
这里的作品非常完美。指定SizeMode并更改位置。
private void Form1_Load(object sender, EventArgs e)
{
//stylise form
this.BackColor = System.Drawing.Color.Black;
PictureBox bgui = new PictureBox();
bgui.Image = Properties.Resources.attack_box;
bgui.Location = new System.Drawing.Point(100, 0);
bgui.Name = "pictureBox1";
bgui.SizeMode = PictureBoxSizeMode.AutoSize;
this.Controls.Add(bgui);
}