在我的应用程序中,我有两个 winform。第一个用作我的控制面板,第二个用作屏幕截图。但是,当我从 Winform 2 回到 Winform 1 时,我创建了一个新的 winform 和一个全新的托盘图标。这是我在程序首次启动时创建的初始文件之上的。
当我从 winform 1 转到 winform 2 时,我执行以下操作:
this.Hide();
Form2 form2 = new Form2();
form2.InstanceRef = this;
form2.Show();
然后,当我想从 Winform 2 回到 Winform 1 时,我执行以下操作:
this.Close();
Winform1 form;
form = new Winform1 (capturedImageObj);
form.Show();
我马上就知道问题在于我正在创建一个新的 Winform1,但我需要这样做,以便我可以将 captureImageObj 传递回 Winform 1。
我试过在我的第一段代码中调用this.close()
和,但这只会关闭程序。this.dispose()
有没有办法可以处理 Winform 1 但仍使用 Winform 2 并将我需要的对象传递回 Winform 1 的新副本?
这是我的 Winform 1 的构造函数:
public ControlPanel(Image imjObj)
{
InitializeComponent();
_screenCap = new ScreenCapture();
_screenCap.OnUpdateStatus += _screen_CapOnUpdateStatus;
capturedImage = imjObj;
imagePreview.Image = capturedImage;
}