C# 从其他类向窗体添加控件

C# 从其他类向窗体添加控件,c#,class,controls,C#,Class,Controls,我试图在类中创建picturebox,并使用方法将其添加到表单中,它没有任何错误,但不显示picturebox 类别: class Igrac { public int ID; public string Ime; public int Polje; public int Novac; public Igrac(int id, string ime, int polje, int novac) {

我试图在类中创建picturebox,并使用方法将其添加到表单中,它没有任何错误,但不显示picturebox

类别:

class Igrac
{
        public int ID;
        public string Ime;
        public int Polje;
        public int Novac;
        public Igrac(int id, string ime, int polje, int novac)
        {
            ID = id;
            Ime = ime;
            Polje = polje;
            Novac = novac;
        }
        public void Pijun (int LocX,Image image, Form1 form)
        {
            PictureBox pijun = new PictureBox();
            pijun.Size = new Size(20, 40);
            pijun.Location = new Point(LocX,655);
            pijun.Image = image;
            form.Controls.Add(pijun);
        }
}
主程序:

private void Form1_Load(object sender, EventArgs e)
{
    Igrac igrac1 = new Igrac(1, ImeIgraca1, 0, 10000);
    igrac1.Pijun(643, Properties.Resources.Pijun1,this);
}

我已经粘贴了你的代码,它的效果很好,但是请检查
newpoint(LocX,655)
constructor中的参数。如果它大于窗体大小,控件将是外部窗口,因为(0,0)点位于左上角。

它被另一个控件重叠了…

什么是Igrica???窗体的名称,很抱歉,我现在将使用错误的窗体引用编辑它,这是传统的错误,但当您传递
时,它看起来不一样。添加
form.Show()这样您就可以100%确定了。位置错误,控件超出表单边界很容易,请注意,使用的值非常高。所以尝试低值。而且很容易让控件与另一个控件重叠,添加pijun.BringToFront()。@HansPassant它与另一个控件重叠,非常感谢,很抱歉占用您的时间!)