| 
          
            □投稿者/ ぶなっぷ (242回)-(2020/09/24(Thu) 11:14:08)
              | ■95790 / inTopicNo.6) | Re[4]: プログラムから作成したコントロールの値を他のクラスから参照す |  
 
          
            
              
                |  | 以下のように、
  パネルA → comboBoxA を表示
  パネルB → comboBoxB を表示
  パネルC → comboBoxC を表示
と決まっているなら、
TabControlがまさに適役と思われます。
  http://codepanic.itigo.jp/cs/tabcontrol.html
そうではなく、コントロールの動的生成(newによる生成)にこだわるのだとしても、
決まり切ったかたまりはリソースとして管理したほうが楽ですよ。
まず、フォーム1上の パネルA/B/Cを張り替えて表示したいエリアに、
ツールボックスからPanelを貼り付けます。
ここでは貼り付けたPanelの名前をchildPanelとします。
次に、パネルA, パネルB, パネルCをUserControlとして追加します。
ソリューションエクスプローラからプロジェクトを選択し、右マウスメニューから
「追加 - ユーザーコントロール」です。
名前はそれぞれ、PanelA, PanelB, PanelCとつけたとします。
その上で、PanelA, PanelB, PanelCにそれぞれ専用のComboBoxを貼り付けます。
この状態で起動すると、childPanelのエリアには何も表示されていないかと思います。
ボタンAのClickハンドラを追加し、以下のように実装します。
  private void buttonA_Click(object sender, EventArgs e)
  {
      childPanel.Controls.Clear();
      childPanel.Controls.Add(new PanelA());
  }
起動してボタンAを押すと、childPanelのエリアにPanelAが現れたはずです(^^)
あとは同様です。
  private void buttonB_Click(object sender, EventArgs e)
  {
      childPanel.Controls.Clear();
      childPanel.Controls.Add(new PanelB());
  }
       :
ボタンを押すたびに、PanelA, PanelB, PanelCが切り替わるかと思います。
 |  |