Как определить полный размер панели (включая полосы прокрутки) в C # - PullRequest
4 голосов
/ 29 июля 2011

У меня проблема с панелью размером 200х200 пикселей.Для программы, которую я пишу, в любой момент времени мне нужно знать, насколько велика эта панель, но это становится трудным, поскольку включена автопрокрутка, а при вставке большого содержимого панель расширяется (и получает полосы прокрутки).

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

В общем, предположим, что некоторый контент был введен в панель и с учетом расстояния прокрутки он действительно стал панелью 600x750 пикселей.Кто-нибудь знает, каким образом я могу получить эту информацию?

Спасибо

Ответы [ 2 ]

4 голосов
/ 30 июля 2011

Предложение «включая полосы прокрутки» делает вопрос без ответа.Поскольку полосы прокрутки применяются только к DisplayRectangle.

Вы можете получить требуемый размер панели, так что полосы прокрутки не нужны из свойства PreferredSize.Вы можете получить высоту и ширину полос прокрутки в свойствах SystemInformation.HorizontScrollBarHeight и VerticalScrollBarWidth.

0 голосов
/ 29 июля 2011

Если содержимое Panel больше, чем ее ClientSize, тогда AutoScrollMinSize должен быть эквивалентен прокручиваемой области Panel.

...