将变量从一个图片框复制到另一个图片框而不会相互更改
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将变量从一个图片框复制到另一个图片框而不会相互更改相关的知识,希望对你有一定的参考价值。
我想将一个图片框复制到另一个图片框,但我不希望他们互相改变。
PictureBox picbox1 = new PictureBox();
PictureBox picbox2 = picbox1;
picbox1.Visible = false; //The problem here is that picbox2.Visible will also become false
我想在不改变picbox1
的情况下改变picbox2
....
我怎么能这样做?
答案
维护干净代码的最佳方法可能是创建扩展方法,还要注意您的第二个图片框当前未添加到控件中。
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可以阅读更多内容
另一答案
用这个...
PictureBox p1 = new PictureBox();
PictureBox p2 = new PictureBox();
Bitmap b = new Bitmap(p1.Image);
p2.Image = b;
p1.Visible = false;
以上是关于将变量从一个图片框复制到另一个图片框而不会相互更改的主要内容,如果未能解决你的问题,请参考以下文章
MFC中,如何将CBitmap中的图片复制到另一CBitmap的一块区域中,即如何读取一个CBit