我有一个项目A从项目B调用表单。项目A中的表单被禁用,项目B表单打开。关闭时,我需要项目B重新启用Project A表单,但它不允许我,因为由于循环引用我无法引用它。如何从项目A中引用项目B中的内容?2个项目,1个解决方案。项目A从项目B调用表单,反之亦然。 C#VS2010
0
A
回答
0
这听起来像B项目并不需要返回参考项目A.有,你可以做到这一点通过多种方式:
a)项目A的形式通过调用ShowDialog()
上打开该项目B形式。它而不是Show()
。这会自动禁用A的表单,直到B关闭。
b。)项目A的表单手动禁用自身并开始监听项目B表单上的FormClosed
事件。当事件发生时,项目A的表单再次启用。
c)在一个特殊情况下,有时您需要A的表单来禁用和显示B的表单,有时您需要B的表单来禁用并显示A的表单,您可以通过让Project A创建两个表单并传递一个作为另一个的参考。将构造函数添加到以另一个表单作为参考的表单中:
private Form _formA;
public FormB(Form formA) {
InitializeComponent();
_formA = formA;
}
private void buttonFormA_Click(object sender, EventArgs e) {
_formA.ShowDialog();
}
+0
我最终为这两个大型项目创建了几个名称空间,但是如果我使用了两个项目解决方案,那么您提出的建议将会取得诀窍。 –
相关问题
- 1. EnvDTE项目从解决方案项目单独C#项目
- 2. VS2010 - 2个项目,1个解决方案 - 在1个实例下调试
- 3. C# - 将多项目解决方案转换为1-1项目解决方案
- 4. 1个解决方案,2个项目,2个Web.Configs?
- 5. 多个WCF项目与解决方案中的单个项目
- 6. C#从项目B获取项目A的表单名称
- 7. 2个项目1个解决方案共享课程?
- 8. 如果解决方案包含多个项目,则项目不可用。 [VS2010]
- 9. 在一个解决方案中从VB项目调用C#
- 10. 移动项目,反之亦然
- 11. Visual Studio - 解决方案中的2个项目 - 工作目录
- 12. 多个项目Visual Studio解决方案不会调试一个项目的DLL
- 13. 调用窗体1项目2从窗体1项目1
- 14. 如何从android中的另一个项目的活动调用一个项目的活动?反之亦然?
- 15. 从项目B的servlet调用项目A的bean
- 16. 从TeamCity的单个解决方案发布多个项目
- 17. 必须建立2个解决方案,每个项目一个
- 18. 从多项目解决方案中分支特定项目
- 19. 使用xbuild从多项目解决方案构建一个项目
- 20. 在一个目录中部署两个项目解决方案
- 21. 在Ubuntu上编译VS2010 c#解决方案(项目)
- 22. 解决方案VS2010内不同项目中的装配清单
- 23. VS2010:去定义用于在VB.NET项目C#构件(反之亦然)
- 24. VS2010 DTE地址:解决方案文件夹内的项目不是“项目”
- 25. .net intellisense:一个解决方案中的2个项目
- 26. VS2010:多个解决方案,一个共享的C#项目文件/ GUID
- 27. 在VB项目中引用解决方案项目
- 28. 一个解决方案中两个项目之间的继承
- 29. 从同一个解决方案中的Winform项目访问Excel项目
- 30. VS2005 - 从一个单独的项目调用方法? (相同的解决方案)
为什么不考虑项目C,在那里你可以参考项目A和B? – MKR
这些形式相互依赖的事实应该告诉你他们属于同一个项目。 – Amy
@ManojKumarRai我可以做到这一点,但我想要一个更优雅的解决方案。 –