Хотя это нецелесообразно, но да, это возможно.
Сначала создайте графическое окно во внешнем файле класса, например:
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public class Class1
{
public static PictureBox pb1 = new PictureBox();
}
}
Затем добавьте его в свою первую форму, скажем, еще одно событие нажатия кнопки откроет другую форму. Таким образом, вам сначала нужно будет удалить графический блок, что позволит использовать его во 2-й форме.
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);
}
Там вы должны переместить коробку с картинками из 1-й формы во 2-ю форму, а затем обратно в 1-ю форму.