【发布时间】:2012-03-14 14:55:01
【问题描述】:
我和我的一个朋友正在做一个课堂项目。他更喜欢 VB 而我更喜欢 C#,所以我们只是做了我们的事情。现在,我们正在考虑合并这些项目。我将他添加到我的,但我找不到如何从我制作的表格中打开他制作的表格。
有没有办法从 C# 表单启动 VB 表单?
【问题讨论】:
我和我的一个朋友正在做一个课堂项目。他更喜欢 VB 而我更喜欢 C#,所以我们只是做了我们的事情。现在,我们正在考虑合并这些项目。我将他添加到我的,但我找不到如何从我制作的表格中打开他制作的表格。
有没有办法从 C# 表单启动 VB 表单?
【问题讨论】:
语言是项目特定的。这意味着您有一个 C# 项目和 VB 项目。您不能在一个项目中混合使用多种语言。但是,您可以在一个解决方案中拥有多种语言项目。比如他用VB做前端,你用c#做后端,然后将vb项目中的引用添加到c#项目中。
此外,您可以使用 VB 到 C# 转换器,反之亦然,但结果不一。我已将整个 vb 项目转换为 c#。
【讨论】:
无法在 VB 中混合使用 C#。但您可以使用 Jon Skeet 建议的方法。
1) Create Multi-Project Solutions
2) 在你的项目中添加你朋友的VB项目的引用
然后您可以创建您朋友创建的表单的对象:
YourFriendProject.SomeForm someForm = new YourFriendProject.SomeForm();
someForm.Show();
【讨论】:
您不能将不同的语言添加到同一个项目中,但您应该能够将两个项目添加到同一个解决方案中,并将您的 C# 项目中的引用添加到他的 VB 项目中,并使用他创建的类型 - 所以当然,只要它们是公开的。
【讨论】:
答案已经贴出来了,只是加个图让事情更清楚一点。
【讨论】:
我就是这样做的。 C# 打开 VB.NET。我还添加了 sCarletto 作为参考,但尝试添加我的主要 C# 作为对 sCarletto 的参考,我并没有那么成功……但是。在语音命令 Araura (form1) 上打开 sCarletto (vb.net) 表单。 enter image description here
【讨论】:
这是一个真正简单的解决方案,我因为编码太累而忽略了。 我只是这样做了:
Case "ARAURA COME BACK"
Process.Start("The file path to my C# programs .exe located in the Debugging folder")
me.Close()
【讨论】: