私が作成しているプログラムには、多くのユーザー入力が必要です。ユーザーがコマンドを選択すると、対応するグループボックスが表示され、現在のグループボックスを後で使用できるように保存します。グループボックスが GUI で重複していない場合、以下のコードは問題なく動作します。私が望むのは、すべてのグループボックスを互いに積み重ねることができ、これが引き続き機能することです。
for (int i = 0; i < funcCodes.Length; i++)
{
byte z = funcCodes[i];
GroupBox gb = (GroupBox)Controls["gbDisplay_FC" + z];
if (z == zcontrol.getFunctionCode())
{
gb.Visible = true;
currentGB = gb;
}
else
gb.Visible = false;
}
私が得た失敗は、それらが積み重ねられたときです gb がnullになります(グループボックスが見つかりません)
Edit1: 以下のコメントは、プロパティとドラッグ アンド ドロップを使用してグループボックスの場所を変更し、それを子にする場合と同様に機能します。