我在 C# 表单应用程序中有一个图像框,我想在按下它时克隆该图像。我尝试了这段代码,但没有得到任何结果
`private void pictureBox9_Click(object sender, EventArgs e)
{
PictureBox yeni = new PictureBox();
yeni.Image = pictureBox9.Image;
yeni.Size = pictureBox9.Size;
yeni.Location = new Point(200, 200);
yeni.Name = "deneme.png";
yeni.Visible = true;
this.Controls.Add(yeni);
Controls.Add(yeni);
yeni.Show();
}
PictureBox 类(System.Windows.Forms)的“备注”部分 | Microsoft Learn 指出
如果要在多个 PictureBox 控件中使用相同的图像,请为每个 PictureBox 创建该图像的克隆。从多个控件访问同一图像会导致发生异常。因此,您应该将
yeni.Image = pictureBox9.Image;
替换为
yeni.Image = (System.Drawing.Image) pictureBox9.Image.Clone();
之类的内容。