int i = amount; //amount will always start at 0
        int j = i + 1;

        GroupBox[] verGroup;
        verGroup = new GroupBox[i];

        verGroup[i].Name = "verGroup" + i.ToString();
        verGroup[i].Width = 400;
        verGroup[i].Height = 120;
        verGroup[i].Left = 5;
        verGroup[i].Top = 5 + (verGroup[i].Height * i) + (10 * i);
        verGroup[i].Text = "Verification #" + j.ToString();

        pnlVer.Controls.Add(verGroup[i]);


它在verGroup [i] .Name处给我一个IndexOutofRangeException。但是索引是0,这肯定是它想要的吗?

我也尝试过

 verGroup = new GroupBox[5]


但这会引发“对象引用未设置为对象的实例”错误。

如果有人能指出我正确的方向,将不胜感激。

最佳答案

由于数量从0开始,并且您创建了一个大小为i的数组,因此您正在创建一个大小为0的数组。因此,由于长度为0,因此无法对数组中的任何内容进行索引。

第二个错误是因为您没有初始化组框。您需要说verGroup [i] = new GroupBox();初始化它。

关于c# - 创建动态控件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4995168/

10-13 07:30