Размер панели продолжает уменьшаться - PullRequest
0 голосов
/ 01 июля 2010

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

this.Size = panelABC.Size;
panelABC.Dock = DockStyle.Fill;
panelABC.Visible = true;

Ответы [ 3 ]

0 голосов
/ 01 июля 2010

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

Чтобы убедиться, что это так, вставьте точку останова и проверьте, какие у вас размеры при прохождении ...

0 голосов
/ 01 июля 2010

Что такое this?Если это форма (или родительский элемент управления), в которой живет ваша панель, то это ваша проблема: закрепление панели сделает ее немного меньше родительской.Последующие обращения к вашему коду затем приводят родительский элемент в соответствие с размером (меньшим) панели, а затем вы повторяете процесс ...

0 голосов
/ 01 июля 2010

Поскольку размер панели изменился по отношению к элементу управления, он состыкован к тому времени, когда вы снова вызовете этот код.Использование стыковка или привязка будет управлять размером панели при изменении размера родительских контейнеров.

Для ясности ответа -Фактический ответ описан в комментариях к другому опубликованному ответу.

...