A nie chcesz po prostu dodać pictureBoxa?
Z tego co wiem, to Controls.Add przyjmuje "kontrolki", a g.DrawImage to Image :D
private void button1_Click(object sender, EventArgs e)
{
for (int i = 1; i <= 3; i++)
{
PictureBox picturebox = new PictureBox();
picturebox.Name = $"obrazek_{i}";
picturebox.Size = new Size(50, 50);
picturebox.Image = Image.FromFile($@"C:\Users\Public\Pictures\Sample Pictures\Desert.jpg");
picturebox.SizeMode = PictureBoxSizeMode.StretchImage;
picturebox.Location = new Point(50 * i, 50 * i);
panel1.BackColor = Color.FromName("black");
panel1.Controls.Add(picturebox);
}
}