2017-07-09 9 views
-1

1つのソリューションに2つのプロジェクトがあります。1つのソリューションでVBプロジェクトからC#を呼び出す

メインはVB.netプロジェクトで、セカンダリはC#プロジェクトです。私はボタンをクリックしてVB.netプロジェクトからC#プロジェクトのフォームを呼び出すが、わからない。

私はC#.dllを作成して参照することは可能ですが、これについてのガイドは見つかりませんでした。誰かがこれを達成する方法について私に一歩一歩譲りましょうか?

+0

vb.netプロジェクトにC#プロジェクトのプロジェクト参照を追加しようとしましたか? –

+0

ええ、私はそれを行っているが、私は、VBからC#フォームを呼び出す方法を知らない。 –

+0

Stack Overflowはチュートリアルサービスではないので、この質問をトピックとして閉じようとしている。 –

答えて

2

これはかなりシンプルで簡単なことですし、一般的です。すべて同じ機能を持つ複数のプロジェクトがある場合、プロジェクト間でコードの複製を保存します。

  1. 右VBプロジェクトをクリックし、Addクリック - >Reference...
  2. 押して左のProjectsノード。
  3. C#プロジェクトにカーソルを置き、表示されるチェックボックスをクリックします。

これで参照が追加されました。 Visual Studioではcircular referenceを作成しているため、Visual Studioではこれを許可しないので、C#からVbプロジェクトを参照することはできません。

フォームを表示するには、次の操作を行います。

まず、新しいフォームのどこかに参照を作成する必要があります。例えば; (OtherProjectは他のプロジェクトの名前、FormNameはプロジェクト内のフォームの名前です。あなたが行っていることに応じて、VBアプリケーションを起動するときや、一度しか必要ないかもしれません。それは完全にあなたの設定に依存します。

Dim OtherProjectForm as New OtherProject.FormName 

あなただけ先に行くと、再び、

OtherProjectForm.Show() 

やコースの操作を行い、ことをやったとき、あなたは何をやっているによっては、

OtherProjectForm.ShowDialog() 

あなたフォームの公開メンバーにもアクセスできます。デフォルトでは、フォームのアクセスモードのすべてのコントロールは「フレンド」です。つまり、同じアセンブリの一部であるオブジェクトだけがアクセスできますが、必要に応じて公開することができます。あるいは、それらと対話するためのメソッドを作ることができます。

+0

このようにしてくれてありがとう、私は似たように読んだけど、これは完全に今働いているだけでなく説明されていませんでした。私はあなたにこのような偉大な詳細でこれに答える時間を割いて本当に感謝します –

関連する問題