Прокручиваемая область имеет ограничение по ширине? - PullRequest
0 голосов
/ 24 февраля 2012

У меня есть форма с панелью, которая покрывает всю форму и служит прокручиваемой областью для дочерних элементов управления. В основном я помещаю PictureBox элементы управления в панель, 3-4 в столбце. Проблема в том, что когда число PictureBoxe велико, я не могу поместить их все в Panel, оно просто отказывается устанавливать свойство PictureBox.Left, когда я устанавливаю его выше, чем примерно 32470 пикселей, то есть, когда я устанавливаю его в 32570, это устанавливается на 32470.

Есть ли ограничение на ширину прокручиваемого родителя?

Код, который я использую, выглядит следующим образом:

for (int a...)
{
    PictureBox pic = new PictureBox
    {
        Parent = panel1,
        Width = 150,
        Height = 150,
        Left = x,
        Top = y
    };
}
  • x и y вычисляются внутри цикла, чтобы поместить PictureBoxes в строки / столбцы.

1 Ответ

0 голосов
/ 24 февраля 2012

Я удивлен, что это происходит при таком значении. Это ограничение самой Windows. Он помещает все свои сообщения в 16-битное СЛОВО, поэтому максимальное значение для любой позиции X или Y должно быть 32767. Вы всегда можете попытаться добавить другую панель всякий раз, когда будет достигнут этот максимум, и тогда вы будете ссылаться на 0 в опять новая панель?

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