winformsパネルとjava swingパネル
質問
java swingでは、パネルなどにパネルを挿入できます。アプリケーションのすべてのビューにまったく新しいウィンドウを作成したり、コントロールの削除や追加に煩わされたりする必要はありません。
パネルがC#にありますが、「パネルフォーム」または基本的にはパネルとそのコンテンツであるフォームデザイナーのフォームを作成する方法はありません。
どのようにこれを行い、java swingで行ったように動作しますか?
解決
通常、親ウィンドウでIsMdiContainerプロパティをtrueに設定して、互いに異なるフォームをドッキングするだけです。次に、次の関数を使用してドッキングするサブフォームを作成します。
static class FormUtil
{
static public void showForm(Form sender, Control reciever)
{
sender.ControlBox = false;
sender.FormBorderStyle = FormBorderStyle.None;
sender.ShowInTaskbar = false;
sender.TopLevel = false;
sender.Visible = true;
sender.Dock = DockStyle.Fill;
reciever.Controls.Clear(); //clear panel first
reciever.Controls.Add(sender);
}
}
その後、親フォームのパネル内にフォームをドッキングする必要があるときはいつでも、次のようにします。
FormUtil.showForm(new SomeForm(), this.splitContainer1.Panel1);
これにより、フォーム作成の一部を異なるデザイナーに委任できます。私にとって魅力のように機能します。もっと良い方法があるかどうか聞いてみたいです。
他のヒント
実際には、パネルコントロールを使用して、そのDockプロパティをFillに設定できます。そうすれば、パネルはフォームのキャンバス全体になります。その後、必要に応じて、コードビハインドまたはフォームデザイナを使用して子パネルを追加できます。
基本的にデザイナーサーフェイスのようなパネルを提供するユーザーコントロールの概念があり、アトミックフォーム(再利用可能)を作成し、継承可能として登録できることは言うまでもありません。 / p>
所属していません StackOverflow