[英]Move PictureBox from one form to another form C#
我实际上正在尝试在 C# 中编程,并希望将图像从 Form1 的 pictureBox1 移动到 Form2 的另一个 pictureBox1。
我做了以下
在 Form1.cs 中:
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Load("C:\\Users\\img_0.bmp");
}
在 Form1.Designer 中:从 private 更改为 public
public System.Windows.Forms.PictureBox pictureBox1;
在 Form2.cs 中:
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Image = Form1.pictureBox1.Image;
}
但我收到此错误:CS0120:非静态字段、方法或属性“Form1.pictureBox1”需要 object 引用
有人可以帮我吗? :)
虽然这样做不太合适,但是,是的,这是可以的。
首先在外部 class 文件中创建图片框,如下所示:
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public class Class1
{
public static PictureBox pb1 = new PictureBox();
}
}
然后将其添加到您的第一个表单中,假设另一个按钮单击事件将打开另一个表单。 所以你必须先删除图片框,这将允许第二个表单使用它。
public Form2()
{
InitializeComponent();
this.Controls.Add(Class1.pb1);
}
private void button2_Click(object sender, EventArgs e)
{
this.Controls.Remove(Class1.pb1);
Form3 f = new Form3();
f.ShowDialog();
this.Controls.Add(Class1.pb1);
}
然后,当您打开下一个表单时,添加图片框,并在下一个表单关闭时将其删除。
public Form3()
{
InitializeComponent();
this.Controls.Add(Class1.pb1);
this.FormClosing += Form3_FormClosing;
}
private void Form3_FormClosing(object sender, FormClosingEventArgs e)
{
this.Controls.Remove(Class1.pb1);
}
在那里,您已将图片框从第一种形式移动到第二种形式,然后再回到第一种形式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.