Copying variables from one picturebox to another w

2019-08-30 04:53发布

I would like to copy a picturebox to another picturebox, but I do not want them to change with each other.

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

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

I would like to make picbox1 change without changing picbox2....

How would I be able to do that?

2条回答
该账号已被封号
2楼-- · 2019-08-30 05:38

Probably the best way to maintain clean code is to create an extension method, also note that your second picturebox is currently not added to controls.

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);

More can be read on extension methods here

查看更多
迷人小祖宗
3楼-- · 2019-08-30 05:45

use this...

PictureBox p1 = new PictureBox();
PictureBox p2 = new PictureBox();
Bitmap b = new Bitmap(p1.Image);
p2.Image = b;
p1.Visible = false;
查看更多
登录 后发表回答