2009-05-11 4 views
5

私はC#でwin-formを使い、その内容やフォーム全体を別のフォームで使用されているパネルに表示したいと考えています。C#で別のwinformのwinformのパネルを使用できますか?

は私がPanel_of_BにPanel_of_Aの内容を表示したいか、私は別の形でPanel_of_Aを使用したいと言って、私はパネルPanel_of_A とパネルPanel_of_B

と形Bと形Aを考えてみましょう。

それとも、フォームを表示するための支援を提供することは、私はuが私の考えを理解して作られたフォームB.

希望のパネルに言う...

答えて

10

私はこれを行うためのより良い方法は、にあると思いますそのパネルを含むユーザーコントロールを作成し、両方のフォームで(再)使用します。

ここにはtutorial how to create User Controls on MSDNがあります。

+0

+1:あなたは私の直前にいて、ゆっくりと遅い指を持っています。 。 。 –

1

再利用したいパネルを別のクラスとして定義し、両方のフォームに配置することをお勧めします。表示されるデータを同じにする必要がある場合は、フォーム間で渡すことができるビジネスオブジェクトにバインドします。

4

レプリケートするロジックを含むユーザーコントロールを作成し、新しいユーザーコントロールを両方の場所に挿入します。

+0

+1と私の答えに対するあなたのコメント。 ;-) – splattne

2

FormBのパネルにFormAのインスタンスを表示するにはどうすればよいですか? UserControlはおそらくより良い方法ですが、あなたが求めたものは可能です。

fa = new FormA(); 
fa.TopLevel = false; 
fa.FormBorderStyle = FormBorderStyle.None; 
fa.Dock = DockStyle.Fill; 

fb = new FormB(); 
fb.panel1.Controls.Add(fa); // if panel1 was public 

fa.Show(); 
fb.Show(); 
+0

これは人を動かさなかった:$私はそれを試した。 – Mobin

+0

何が問題でしたか?私は答えを掲示したときに私は一緒に迅速なテストを投げ、それは私のために働いた。 – xyz

0

アプリケーションのサイズや規模に応じて、あなたが宣伝文からComposite UI Application Block

(無料)を検討する必要があります。

それは 複雑なスマートを構築する実証済みのプラクティスを提供クライアントユーザインターフェース 複合パターンのような周知の設計パターンに基づいて、 の単純なユーザインターフェース部分は を組み合わせることができる複雑な ソリューションを作成すると同時に、 これらの部分を個別に開発し、テストし、 に配備することを許可します。

関連する問題