我正在做的程序需要大量的用户输入。用户选择一个命令,并使相应的组框变为可见,并保存当前的组框供以后使用。如果组合框在GUI中不重叠,下面的代码完美地工作。我想要的是能够将所有的组合框叠加在一起,这样仍然可以工作。当groupbox在另一个groupbox功能找不到groupbox
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(无法找到groupbox)感谢任何对C#的新帮助。
编辑1: 下面的评论的作品,以及如果你只是改变使用属性VS拖放的属性组的位置,使它成为一个孩子。
我明白你的意思,但这并不能解决问题,因为它需要在GUI中找到位于其他groupbox顶部的groupbox。检查null是很好的编程习惯,我应该已经在代码中。 – newrev426
但是,正如你所说,它无效,如果它无法找到。如果它不存在,则无法找到它。那么如果它不存在,你想如何找到它? :) – VladL
哦,对不起,我一定没有说清楚。所有的分组都在表格中。我永远不会得到空,而且我不会在组合框紧挨着表单上的海誓山盟时,但是当我将组合框放在彼此之上时,我不会。 – newrev426