2

短いバージョン:VB.Net Windowsフォームの機能コントロールは、ツールボックスからフォームにドラッグされることがよくあります。コントロールのコードはフォームに直接入力されます。通常、これはすばらしいことですが、UIコントロール(パネルなど)のコードを別のファイルに記述して、インポートしたり、メインのフォームクラスに含めたりすることはできますか?

コンテキスト(別名ロングバージョン):左側にナビゲーションボタンの列が変わらないフォームがあります。フォームの残りの部分は、さまざまなパネルによって使用されます。パネルには、独自のさまざまなコントロールがあります。左側のさまざまなボタンをクリックすると、これらのさまざまなパネルが表示されます(ボタン「A」をクリックすると、パネル「A」が表示されます。ボタン「B」をクリックすると、パネル「B」が表示されます)が、左側のメニューはそのままです。変更なし。

このデザインをVB.Netでエレガントな方法で実装するのに苦労しています。各パネルを個別のフォームにすると、すべてのファイルで不変の左側のメニューを作成するコードを複製する必要がありますが、これはひどいことです。継承されたフォームを使用して、個別のパネルがマスターフォームから左側のメニューを継承するようにしましたが、メニューをクリックするたびに新しいウィンドウに新しいフォームが表示され、左側のメニューは継承されますが、メニューはクリックしたことと、新しいウィンドウの同じように見えるメニューは、メモリ内の同じオブジェクトではなく、お互いの知識がありません。

左側をクリックした内容に基づいて変化する中央コンテンツを含む1つのウィンドウが必要です。これに対する解決策は、パネルがまさにそれ(パネル)であり、私が現在行っているようにフォームを分離しないことです。ただし、すべてのパネルのコードを1つの大規模なマスターファイルに含める必要があるため、これは組織的に厄介になります。したがって、私の質問の短い形式(上記を参照):パネルを別のファイルにコーディングしてから、それをメインフォームの折り畳みに入れるにはどうすればよいですか?

4

1 に答える 1

1

ユーザーコントロールを使用したいように思えます。必要な4つのものごとにユーザーコントロールを作成し、それらをパネルに追加して、押されたボタンに応じてそれぞれを表示または非表示にします。

于 2011-08-08T23:06:54.437 に答える