将变量从一个图片框复制到另一个图片框而不会相互更改

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

我想将一个图片框复制到另一个图片框,但我不希望他们互相改变。

PictureBox picbox1 = new PictureBox();
PictureBox picbox2 = picbox1;

picbox1.Visible = false; //The problem here is that picbox2.Visible will also become false

我想在不改变picbox1的情况下改变picbox2 ....

我怎么能这样做?

c# class variables copy picturebox
2个回答
1
投票

维护干净代码的最佳方法可能是创建扩展方法,还要注意您的第二个图片框当前未添加到控件中。

public static class MyExtensions
{
    public static PictureBox CreateNewWithAttributes(this PictureBox pb)
    {
        return new PictureBox { Image = pb.Image, Width = pb.Width };
    }
}

Picturebox p2 = p1.CreateNewWithAttributes();
this.Controls.Add(p2);

关于扩展方法here可以阅读更多内容


0
投票

用这个...

PictureBox p1 = new PictureBox();
PictureBox p2 = new PictureBox();
Bitmap b = new Bitmap(p1.Image);
p2.Image = b;
p1.Visible = false;
© www.soinside.com 2019 - 2024. All rights reserved.