2012-03-14 44 views
3

我和我的一个朋友正在为一个课程开展项目。他更喜欢VB,我更喜欢C#,所以我们只是做了我们的事情。现在,我们正在考虑合并这些项目。我把他加入我的,但我找不到如何打开他制作的表格。从C#表格启动VB表格

有没有办法从C#表单启动VB表单?

回答

4

在VB中不能混合使用C#。但你可以使用Jon Skeet建议的方法。

1)Create Multi-Project Solutions

2)添加你的朋友的VB项目的参考项目中的

的n您可以创建你的朋友,因为创建的那些形式对象:

YourFriendProject.SomeForm someForm = new YourFriendProject.SomeForm(); 
someForm.Show(); 
+0

您的解决方案取得了诀窍,非常感谢! – 2012-03-14 15:20:27

3

你不能在同一个项目中添加不同的语言,但是你应该能够将两个项目添加到同一个解决方案中,并将C#项目的引用添加到他的VB项目中,并使用他创建的类型 - 只要它们是公开的,当然。

6

语言是项目特定的。意思是你有一个C#项目和VB项目。您不能在一个项目中混合使用多种语言。但是,您可以在解决方案中使用多种语言项目。例如,他在VB中做前端,你在c#中做后端,然后在vb项目中添加引用到c#项目中。

此外,您可以使用VB到C#转换器或反之亦然混合结果。我已将整个vb项目转换为c#。

+0

但问题是,我们都取得了表格,想我们就不会被合并了。我知道你可以将C#dll添加到VB项目中,反之亦然。但我想打开他的表格。 (或者我只是不理解你) – 2012-03-14 15:00:37

+0

我相信你可以从dll中打开他的表单,如果它公开的话。一个项目将不得不成为应用程序加载的“主”。 – 2012-03-14 15:02:46

+0

好的,我会研究一下:)或者,也许只是翻译和重新创建他的形式。 – 2012-03-14 15:04:46

1

答案已经发布,只是增加了图片,使事情变得更更清晰一点。

  • 您不能将两种不同语言的表单/代码添加到同一个项目中。
  • 您可以将VB程序集中的项目引用添加到CS程序集,反之亦然。
  • 您可以将任一项目添加到其他解决方案以同时访问这两个项目。

enter image description here