C # проблема с прокруткой до конца UserControl с большим количеством контента - PullRequest
0 голосов
/ 24 января 2011

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

Все работает так, как должно, пока размер, количество и расположение элементов управления не превышают некоторого значения. Я говорю некоторые , потому что я не могу определить, какое значение я превышаю, и из-за этого я плохо контролирую свою работу.

Количество элементов управления в моем UserControl может варьироваться от нескольких до нескольких тысяч, в зависимости от обстоятельств. Элементы управления одинакового размера отображаются в строках / столбцах. Количество строк и столбцов, которые пользователь видит в видимой части UserControl, зависит от размера элементов управления внутри. Насколько я знаю, у меня должна быть возможность работать с такими значениями местоположения, как максимальное значение int . Но кажется, что я делаю что-то не так, потому что пока тесты работают не так, как надо.

Хотя значение элемента управления Location.Y в нижней части моего UserControl, например, 49150 , прокрутка элемента управления не приближает меня к этому значению VScrollBar. максимум независимо от того, сколько элементов управления я установил и как далеко их Y расположение никогда не станет больше, чем 32896 .

Когда я изменяю размер моего UserControl или размер элементов управления внутри, так что Location.Y последнего элемента управления не слишком далеко, все отлично работает.

Можно ли как-то исправить VScrollBar или сделать что-нибудь еще, чтобы заставить мою контрольную работу работать именно так, как мне нужно, или что-нибудь еще, что могло вызвать такую ​​проблему?

MTH

1 Ответ

1 голос
/ 24 января 2011

Похоже, что это ограничение размера, основанное на том, когда winforms изначально создавался, когда все было 16 бит.

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