是否可以从依赖项打开winform表单



我有一个visual studio windows窗体应用程序,它有多个项目,每个项目都有多个窗体。启动时加载的项目调用另一个项目的窗体并关闭自己的窗体。将启动程序称为"程序";设置";另一个作为";主要";。我有一个场景,我想跳过设置,稍后可以返回到它。由于setup是main的依赖项,而不是相反,我似乎无法创建setup表单的实例。是这样吗,还是我做错了什么?

从setup到open main的调用也是

this.Hide();
frmDemo demo = new frmDemo();
demo.ShowDialog();
this.Close();

我想从主窗体到设置窗体做同样的事情,但我遇到了麻烦。

本质上它应该只是

frmSetup setup = new frmSetup();
setup.show();

但这不起作用,因为它找不到表格。

如果你想从Main中引用Setup,那么你需要在Main中添加一个引用。

那么问题是,您将创建一个循环依赖项,这是一个糟糕的设计(我认为您也会遇到编译器错误)。

有一些方法可以解决这个问题,但最好的方法是让主程序成为第一个启动的程序(而不是设置程序)。然后在启动过程中,它启动设置表单,等待完成,然后继续。然后,当它需要再次启动安装程序时,就没有问题了。

因此,您正在有效地扭转依赖关系。

最新更新