使用自动滚动向表单添加动态控件

时间:2011-10-25 21:24:08

标签: c# winforms controls scroll

当我将控件添加到表单时,它会很好,直到我尝试指定大于int16.MaxValue的位置。控件只是堆叠在一起。这是简化的代码,但演示了行为:

private void Form1_Load(object sender, EventArgs e)
{
    this.AutoScroll = true;
    int nexttop = 0;
    for (int i = 0; i < 500; i++)
    {
        TextBox t  = new TextBox();
        t.Text = i.ToString();
        t.Multiline = true;
        if (nexttop > Int16.MaxValue)
        {
            bool debug = true;
        }
        t.Location = new Point(0, nexttop);
        t.Size = new Size(100, 77);
        nexttop += t.Height;
        this.Controls.Add(t);
    }
}

我想避免移动滚动条programaticaly,因为这会导致时间问题。

您对如何解决此问题有任何想法吗? TIA。

1 个答案:

答案 0 :(得分:0)

此限制(32767)归因于GDI +。我相信根据Windows版本可能会观察到不同的行为。