嗯...可以选择为子窗体(Form2)增加一个构造函数:
// 为Form2增加一个构造函数
public Form2(Image img)
{
// 窗体自动构造函数--自动生成的
InitializeComponent();
// 为子窗体的pictureBox赋值图片
this.pic_ISFrom2.Image = img;
}
在父窗体打开子窗体的时候,为这个重载的构造函数的参数赋值:
// 假设在点击按钮的时候打开子窗体
private void button1_Click(object sender, EventArgs e)
{
// 指定一个图片
Image bitMap = Resources.image11;
// 将图片传到子窗体
Form2 frm2 = new Form2(bitMap);
frm2.ShowDialog();
}
方法很多
子窗体构造的时候可以穿过去,也可以用个静态属性传过去
以下是静态属性的
public static PictureBox pic = new PictureBox();
private void Form1_Load(object sender, EventArgs e)
{
pic.Image = pictureBox1.Image;
pic.SizeMode = pictureBox1.SizeMode;
pic.Size = pictureBox1.Size;
}
private void button1_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3();
f3.Show();
}
子窗体的
private void Form3_Load(object sender, EventArgs e)
{
pictureBox1.Image = Form4.pic.Image;
pictureBox1.SizeMode = Form4.pic.SizeMode;
pictureBox1.Size = pictureBox1.Size;
}
动态加载,把主窗体的pictureBox的ImageLocation 传到子窗体,子窗体就可以显示了
this.pictureBox1.ImageLocation = "D://image.jpg";
在子窗体构造的时候加个参数用来传送主窗体picturebox的图像