0

我得到了一个从 Panle 驱动的名为 AdvancePanle 的类,我得到了一个从 CheckBox 驱动的名为 AdvnaceCheckBox 的类。

我在我的表单中创建了一个 AdvancePanle,现在我想向它添加一些 AdvnaceCheckBox。所以我创建了这个,简单的方法:

 private void addCheckBox()
    {
        AdvancedCheckBox checkbox;
        for (int i = 0; i < 10; i++)
        {
            checkbox = new AdvancedCheckBox();
            checkbox.Location = new Point(0, i + 5);
            checkbox.Text = "bla" + i;
            selectablePanel1.Controls.Add(checkbox);
        }
    }

我在表单 onLoad 中调用此方法:

 protected override void OnLoad(EventArgs e)
        {
            addCheckBox();
            selectablePanel1.AutoScroll = true;

            base.OnLoad(e);
        }

但是打开表单后,我只能在 Panle 中看到 1 个 CheckBox。我试着玩这个位置,但我总是只看到 1 个复选框。

我是否以一种磨损的方式添加复选框?

(对不起我的英语不好)

4

1 回答 1

1

你把它们放得太近了。(0, 5+i)将评估为:

(0,5)
(0,6)
(0,7)
(0,8)
...

试试这个:

checkbox.Location = new Point(0, i*100 + 5);

或这个:

checkbox.Location = new Point(0, i*checkbox.Height + 5);
于 2012-10-28T20:45:59.937 回答