2011-04-12 22 views
5

Tengo una solución C# y vb .net. Necesito usar el formulario C# dentro del formulario vb como una pestaña. ¿Cómo puedo hacer esto?C# y VB en C#

+1

quizás esto ayude: http://stackoverflow.com/questions/1278024/mixing-c-vb-in-the-same-project – Roger

+0

¿Qué es "formulario C# dentro de vb formulario como una pestaña"? – BoltClock

+0

Quiero decir que necesito usar el contenido del formulario C# como una pestaña en VB .net – Vicky

Respuesta

1

Lo hice agregando el archivo .exe del proyecto VB como referencia en el proyecto C# y llamé a Form.Show() del proyecto VB.

16

Se puede crear una de las formas en una biblioteca de clase separada o como un control de usuario en una biblioteca de clases separadas y solo haz referencia desde tu aplicación. Cada proyecto en su solución puede ser VB.Net o C#, por lo que funciona en ambos sentidos ...

en una solución simple ejemplo que podría tener los siguientes proyectos

  • MyApp.CSharpControls - Proyecto en C#
  • MyApp.VBControls - Proyecto de Vb.Net
  • MyApp.UI - Proyecto en C# o VB.Net que puede hacer referencia a cualquiera de los otros proyectos de control

Editar
¿Estoy presumiendo winforms?

+3

Ni siquiera tiene que convertirlo a un proyecto de biblioteca de clase. La solución vb puede agregar una referencia al .exe generado por la solución C# y usar cualquiera de los tipos públicos en esa solución C#. Sin embargo, ayudará a convertir el formulario C# a un control de usuario. –

4

No, no puedes.
Sugiero encapsular el C# -Form en un ensamblaje por separado. Cree un UserControl para usarlo dentro de la otra aplicación o si necesita el formulario completo, encapsúlelo en una DLL y exporte un método Show/ShowDialog().

+2

Puede agregar una referencia a un proyecto para archivos .Net exe, así como dlls de biblioteca de clase, y aún usar cualquier tipo público en ese archivo exe. No hay un trabajo especial involucrado para eso, todavía es solo una asamblea. –

+4

Por supuesto, esto es posible, pero trato de evitar (o no me gusta) crear instancias de clases públicas desde un archivo exe. Esta fue una sugerencia, no un "qué es posible". La oración "No, no se puede" se refiere a la mezcla de C# y vb en una solución. – Markus

+0

¿te refieres a proyecto? – davidsleeps

Cuestiones relacionadas