Добавление динамических элементов управления в форму с автоматической прокруткой - PullRequest
0 голосов
/ 26 октября 2011

Когда я добавляю свои элементы управления в форму, все идет нормально, пока я не попытаюсь указать местоположение больше, чем 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);
    }
}

Я хочу избежать программного перемещения полосы прокрутки, поскольку это вызывает проблемы с синхронизацией.

У вас есть идеи, как это исправить? ТИА.

1 Ответ

0 голосов
/ 26 октября 2011

Этот предел (32767) обусловлен GDI +.Я считаю, что в зависимости от версии Windows может наблюдаться различное поведение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...