c#创建了groupbox控件数组,用for循环添加到窗体中出问题。

GroupBox[]groBox=newGroupBox[10];publicvoidAddGroupBox(intn){for(inti=0;i<10;i++){gro... GroupBox[] groBox = new GroupBox[10];
public void AddGroupBox(int n)
{

for (int i = 0; i < 10; i++)
{
groBox[i].Name = "groBox" + i;
groBox[i].Text = "第" + (i + 1) + "题";
groBox[i].Width = 260;
groBox[i].Height = 50;
groBox[i].Location = new Point(20, 20 + i * 50);
this.Controls.Add(groBox[i]);

}
}

为什么窗体什么都没有,初学c#。
展开
 我来答
rejn17m30
2013-09-28
知道答主
回答量:1
采纳率:0%
帮助的人:2.5万
展开全部

你的代码只是创建了10个GroupBox类型的变量,而这10变量你都没有实例化,就赋值肯定没有结果了。正确代码如下:

for (int i = 0; i < 10; i++)
{
    groBox[i] = new GroupBox();
    groBox[i].Name = "groBox" + i;
    groBox[i].Text = "第" + (i + 1) + "题";
    groBox[i].Width = 260;
    groBox[i].Height = 50;
    groBox[i].Location = new Point(20, 20 + i * 50);
    this.Controls.Add(groBox[i]);
}
追问
还想问下但添加groupbox的时候怎么让他们n个一列n个一列的显示在窗体上呢?
追答
int n = 3;
int y = 0;
int x = -1;
for (int i = 0; i < 10; i++)
{
    y = i % n;
    if (y == 0) x++;
    groBox[i] = new GroupBox();
    groBox[i].Name = "groBox" + i;
    groBox[i].Text = "第" + (i + 1) + "题";
    groBox[i].Width = 260;
    groBox[i].Height = 50;
    groBox[i].Location = new Point(20 + x * 260, 20 + y * 50);
    this.Controls.Add(groBox[i]);
}
薛定谔的多啦梦2z
2013-09-28 · TA获得超过112个赞
知道答主
回答量:45
采纳率:0%
帮助的人:27.9万
展开全部
控件总数除于列数取余得到列值,再乘于控件宽度加间隔
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式