2012-03-14 2 views
3

Мой друг и я работали над проектом для класса. Он предпочитает VB, и я предпочитаю C#, поэтому мы просто сделали свое дело. Теперь мы думали о слиянии проектов. Я добавил его в мою, но я не могу найти, как открыть формы, которые он сделал из форм, которые я сделал.Запуск формы VB из формы C#

Есть ли способ запустить формы VB из формы C#?

ответ

4

Невозможно смешивать C# в VB. но вы можете использовать подход, предложенный Джоном Скитом.

1) Create Multi-Project Solutions

2) Добавить ссылку на VB проекта вашего друга в проекте

п вы можете создать объект из тех форм, что ваш друг созданных:

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

Ваше решение сделало трюк, спасибо вам большое! –

3

Вы не можете добавить разные языки в один и тот же проект, но вы можете добавить оба проекта в одно и то же решение и добавить ссылку на свой проект C# в свой проект VB и использовать созданные им типы - если они публичные, конечно.

6

Язык специфичен для конкретного проекта. Это означает, что у вас есть проект C# и проект VB. Вы не можете смешивать несколько языков в одном проекте. Однако вы можете иметь несколько языков в решении. Например, он делает front-end в VB, а вы делаете задний конец в C#, а затем добавляете ссылки в проект vb на проект C#.

Кроме того, вы можете использовать преобразователь VB в C# или наоборот со смешанными результатами. Я преобразовал целые проекты vb в C#.

+0

Но проблема в том, что мы оба сделали формы, думая, что мы не объединим его. Я знаю, что вы можете добавить DLL C# в проект VB и наоборот. Но я хотел бы открыть его формы. (Или я просто не понимаю вас) –

+0

Я считаю, что вы можете открыть его форму из dll, если она выставлена ​​как общедоступная. Один проект должен быть «мастером», который будет выполнять загрузку приложения. –

+0

Хорошо, я изучу это :) Или, может быть, просто перевод и воссоздание его форм. –

1

Ответ уже отвечал, просто добавив картинку, чтобы сделать вещи немного более ясными.

  • Вы не можете добавлять формы/код с двух разных языков в один и тот же проект.
  • Вы можете добавить ссылку на проект с узла VB на сборку CS и наоборот.
  • Вы можете добавить проект в другое решение, чтобы иметь доступ к обоим.

enter image description here

Смежные вопросы