转到Form1.pictureBox1的定义,在它前面加一个static
你试一下,我没有试过这种方法,不知道会不会引起其它地方的问题。
另外有一个比较科学的方法。系统启动时,先启动Form2
Form2中设置一个Form1类型的私有变量(例如名叫myForm1),然后在在Form2启动后,在构造函数里面将其实例化,然后在button_click时,使用
public partial class Form2 : Form
{
private Form1 myForm1; // 定义
public Form2()
{
InitializeComponent();
myForm1 = new Form1(); // 实例化
myForm1.show(); //显示它
}
private void btn1_Click(object sender, EventArgs e)
{
myForm1.pictureBox1.image=bmp;
}
你不能写Form1.pictureBox1.image=bmp,因为Form1是类,你一定要吧窗体的实例传递过去。建议你在Form1中,把this.pictureBox1作为参数传递过去,然后在控制!
楼上正解。这是多窗体参数传递的常见问题。建议多搜集一下,多尝试一下,就懂了。