2011-12-16 17 views
0

vb.netには、Login FormSplash Screen、およびDialog Formがあります。それらはVisual StudioのProject>Add New Item...ダイアログから利用できます。vb.netフォームをC#プロジェクトに追加する

フープをジャンプすることなく、これらの事前作成されたフォームをC#プロジェクトに追加する方法はありますか?

必要に応じて、フォームをvb.netプロジェクトで再実装または作成し、メイン(c#)プロジェクトからインスタンス化することもできますが、簡単な回避策があればそれは大変な作業です。


vb.netプロジェクト

http://img97.imageshack.us/img97/4894/vbnetaddoptions.png


C#プロジェクト

http://img708.imageshack.us/img708/1331/csharpaddoptions.png

答えて

2

私はVB.NETフォームをC#で使用するとが直接ではないと思います。しかし、VB.NETフォームの周りにラッパーを置いて、それをDLLにコンパイルすることができます。次に、C#アプリケーションのDLLを使用できます。同様の提案(しかし、それ以外の方法で)はhereと与えられます。

編集:実際には、ラッパーは必要ありません。 hereのように、プロジェクトのフォームを直接使用することができます。

+0

これは過去の問題を回避するために行ったことです。私は何かがシンプルで欠けていて、どこかに "隠された"フォームのC#バージョンがあることを期待していました。 – Andrew

+0

"ラッパー"の意味を明確にすることはできますか?フォームが別のプロジェクトにあった場合、なぜC#プロジェクトは単に新しいVBForm()を使用できないと思いますか? –

+0

@ジョン:申し訳ありませんが、間違いました。わかりやすく編集しました。 –

0

いいえ、Y 1つのプロジェクトで複数の言語を組み合わせることはできません。 VB.NETフォームライブラリ用の個別のプロジェクトを作成するだけです。

+0

私は単一のプロジェクトで言語を組み合わせることはできないことを知っています、私はちょうどvb.netフォームの同様のC#実装があるかどうか疑問に思っています(C#またはvb.netのいずれかでユーザーフォームを作成できるように)。 – Andrew

+0

(Microsoftからの)同様の実装があった場合は、[新しい項目の追加]ダイアログに表示されます。 –

+0

Microsoft.VisualBasicを使用して、これを使用して追加する方法を見ています。過去にこれを行っています。C#LOLでコード化してください。 – MethodMan

0

同じprojectにVBとC#を混在させることはできませんが、C#プロジェクトとVB.NETプロジェクトを同じVS solutionに結合/グループ化することはできます。あなたはあなたの特別なフォームや他の1を参照し、あなたがそれらの公開して、これらのフォームを使用していますC#で書かれたwindows applicationをホストvb.netで書かれたクラスライブラリを持つことができ、この場合

0

私の考えることは、あなたのアプリケーションのプライマリプロジェクトをVBプロジェクトにすることだけです。これは、My.Application.SplashScreenプロパティを使用できる唯一のものであり、アプリケーションのVB部分からのみ使用できます(Application.SplashScreenをC#内で使用しようとするとコンパイルされません)。

+0

私はスプラッシュスクリーンをC#で使用していますが、ここで示唆されているものは多かれ少なかれです:http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/8af9fd3e-f679-40b4-976a-46f42319e9a5/ – Andrew

2

C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ ItemTemplates \ VisualBasic \ Windowsフォーム\ .zipファイルで.zipファイルを(手動で)変換することで、独自のC# 1033。

  1. コピーしてC#のコードにVBコード
  2. 変更]を変換し、.vstemplate XMLファイルを保存する手動で必要なテンプレート
  3. を解凍します(またschemaリファレンスを参照してください)
  4. にファイルを圧縮新しい.zip
  5. C#を削除します。Windowsのフォーム\ 1033
+0

必要な手順を詳しく説明できますか? –

+0

さて、そこにはたくさんのことがあります(私の編集とhttp://msdn.microsoft.com/en-us/library/ms185319.aspxを参照)。 – Strillo

関連する問題