在 C# 表单应用程序中按下按钮时克隆图像文件

问题描述 投票:0回答:1

我在 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();
            
        }
c# c#-4.0 picturebox
1个回答
0
投票

PictureBox 类(System.Windows.Forms)的“备注”部分 | Microsoft Learn 指出

如果要在多个 PictureBox 控件中使用相同的图像,请为每个 PictureBox 创建该图像的克隆。从多个控件访问同一图像会导致发生异常。

因此,您应该将

yeni.Image = pictureBox9.Image;

 替换为 
yeni.Image = (System.Drawing.Image) pictureBox9.Image.Clone();
 之类的内容。

© www.soinside.com 2019 - 2024. All rights reserved.