在一个解决方案中从 VB 项目调用 C#

Calling a C# from a VB project in one solution

我在一个解决方案中有 2 个项目。

主要是一个VB.net项目,次要是一个C#项目。我想通过单击按钮从 VB.net 项目调用 C# 项目的表单,但我不确定如何调用。

我已经阅读过如果我创建 C# .dll 并引用它是可能的,但我找不到这方面的指南。有人可以一步一步地告诉我如何完成这个吗?

这是一件相当简单易行的事情,也很常见。如果您有多个项目都具有执行相同操作的功能,则可以跨项目保存重复代码。

  1. 右键单击 VB 项目并单击 Add -> Reference...
  2. 按左边的Projects节点。
  3. 现在将鼠标悬停在 C# 项目上并单击出现的复选框。

您现在已经添加了引用。请注意,您不能从 C# 中引用 Vb 项目,因为 Visual Studio 不允许这样做,因为您正在创建 circular reference

要调用表单显示,您可以执行以下操作。

首先,您需要在新表单的某处进行引用。例如; (OtherProject 是另一个项目的名称,而 FormName 是项目中表单的名称。根据您正在做的事情,您可能希望在启动 VB 应用程序时执行此操作,或者您可能只需要一次。这完全取决于您的设置。

Dim OtherProjectForm as New OtherProject.FormName 

完成后,继续

OtherProjectForm.Show()

或者当然,再一次,取决于你在做什么,

OtherProjectForm.ShowDialog()

您还可以访问和 public 表单成员。默认情况下,窗体上的每个控件的访问模式都是 "Friend",这意味着只有属于同一程序集的对象才能访问它们,但如果需要,可以将它们设置为 public。或者你可以只创建与它们交互的方法。