2017-07-09 4 views
-1

J'ai 2 projets dans une solution.Appel d'un C# à partir d'un projet VB dans une solution

Le principal est un projet VB.net et le secondaire est un projet C#. Je veux appeler un formulaire du projet C# du projet VB.net au clic d'un bouton mais je ne sais pas comment. J'ai lu que c'est possible si je crée le C# .dll et le référence mais je ne peux pas trouver un guide pour cela. Quelqu'un pourrait-il me dire étape par étape comment on pourrait accomplir cela s'il vous plaît?

+0

Vous avez essayé d'ajouter la référence du projet C# au projet vb.net? –

+0

ouais je l'ai fait mais je ne sais pas comment puis appeler le formulaire C# de vb –

+0

Je vote pour fermer cette question hors-sujet parce que Stack Overflow n'est pas un service de tutoriel. –

Répondre

2

C'est une chose assez simple et facile à faire, et aussi commun. Enregistre le code de duplication entre projets si vous avez plusieurs projets qui ont tous une fonction qui fait la même chose.

  1. Clic droit sur le projet VB et cliquez sur Add ->Reference...
  2. Appuyez sur le nœud Projects à gauche.
  3. Passez maintenant le curseur sur le projet C# et cliquez sur la case à cocher qui apparaît.

Vous avez maintenant ajouté la référence. Attention, vous ne pouvez pas référencer le projet Vb depuis le C# car Visual Studio ne le permet pas, car vous créez un circular reference.

Pour appeler un formulaire à afficher, vous pouvez procéder comme suit. D'abord, vous devrez faire référence quelque part au nouveau formulaire. Par exemple; (OtherProject étant le nom de l'autre projet et FormName étant le nom du formulaire dans le projet.) Selon ce que vous faites, vous pouvez le faire lorsque vous démarrez votre application VB, ou vous pourriez en avoir besoin une seule fois. . cela dépend entièrement de votre configuration.

Dim OtherProjectForm as New OtherProject.FormName 

Lorsque vous avez fait cela, il suffit d'aller de l'avant et faire

OtherProjectForm.Show() 

ou bien sûr, encore une fois, selon ce que vous faites,

OtherProjectForm.ShowDialog() 

Vous Sera également en mesure d'accéder et les membres du public du formulaire. Par défaut, chaque contrôle sur le mode d'accès du formulaire est "Friend", ce qui signifie que seuls les objets qui font partie du même assembly peuvent y accéder, mais si vous le souhaitez, vous pouvez les rendre publics. Ou vous pouvez simplement faire des méthodes pour interagir avec eux.

+0

Merci beaucoup pour cela, j'avais déjà lu mais ce n'était pas expliqué aussi bien que cela fonctionne parfaitement maintenant. J'apprécie vraiment que vous preniez votre temps pour répondre à ces questions avec autant de détails –