ドロップダウンボックスのあるC#のフォームがあります。そのドロップダウンボックスが変更されたときに、カスタムユーザーコントロールをパネルにロードしたいと思います。コンパイルエラーやランタイムエラーは発生しませんが、目に見えるユーザーコントロールも発生しません。ここでの考え方は、各ユーザーコントロールが異なるシナリオの構成を理解するということです。各シナリオを独自のコントロールにカプセル化したいのですが、ドロップダウンボックスでシナリオを選択できます。これにより、ユーザーが構成を実行するためのコントロールが読み込まれます。ドロップダウンのオプションを調整することで、特定の顧客のシナリオをカスタマイズできます。私が言ったように、私の問題は、どのコントロールも表示されないことです。これは、ドロップダウンインデックス変更イベントハンドラーに使用しているコードです。
private void ddlCollectorType_SelectedIndexChanged (object sender, EventArgs e)
{
m_currentControl = null;
pnlDeviceConfig.Controls.Clear ();
switch ((string) ddlCollectorType.SelectedItem)
{
case "SEL-421":
SEL421ASCIIControl s421 = new SEL421ASCIIControl (this);
m_currentControl = s421;
pnlDeviceConfig.Controls.Add (s421);
break;
case "SEL-421 (FTP)":
break;
case "GE D60":
GED6061850Control geD60 = new GED6061850Control (this);
m_currentControl = geD60;
pnlDeviceConfig.Controls.Add (geD60);
break;
case "GE D60 (TFTP)":
break;
case "MiCOM P442":
break;
}
}
これまでに作成したユーザーコントロールは2つだけなので、caseステートメントは空です。何かを表示するはずの選択を行っても、何も表示されません(デバッガーでcaseステートメントの本文にヒットしていることを確認しました)。どんな助けでも大歓迎です!