6

C#でwin-formを使用し、その内容またはフォーム全体を別のフォームで使用されるパネルに表示したいと思います。

パネルPanel_of_AのあるフォームAとパネルPanel_of_BのあるフォームBがあるとします。

Panel_of_Aの内容をPanel_of_Bに表示したい、または別の形式でPanel_of_Aを使用したいと言うかもしれません。

または、フォームBのパネルにAなどのフォームを表示するためのヘルプを提供することもできます。

私があなたに私の考えを理解させたことを願っています...

4

5 に答える 5

11

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

これは、MSDNでユーザーコントロールを作成する方法のチュートリアルです。

于 2009-05-11T10:49:01.013 に答える
4

複製するロジックを含むユーザーコントロールを作成してから、両方の場所に新しいユーザーコントロールを含めます。

于 2009-05-11T10:49:36.097 に答える
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();
于 2009-05-11T10:52:06.983 に答える
1

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

于 2009-05-11T10:49:15.380 に答える
0

アプリケーションのサイズと規模によっては、(無料の)複合UIアプリケーションブロックを検討することをお勧めします

宣伝文から:

複合パターンなどのよく知られたデザインパターンに基づいて複雑なスマートクライアントユーザーインターフェイスを構築するための実証済みのプラクティスを提供します。このパターンでは、単純なユーザーインターフェイスパーツを組み合わせて複雑なソリューションを作成できますが、同時にこれらのパーツを独立して開発できます。テストされ、展開されました。

于 2009-05-11T12:19:09.973 に答える