2015-06-24 1 views
0

У меня есть пользовательский элемент управления, который содержит 2 кнопки вверху и сетку под ним. Позвольте мне называть это как UC1Dock Style для управления

Этот UC1 находится внутри другого пользовательского элемента управления UC2.

В некоторых случаях в UC2 мне не нужны 2 кнопки на UC1, и поэтому я делаю эти 2 кнопки видимыми ложными и устанавливаю стиль док-станции для заполнения.

grid.Dock = DockStyle.Fill; 

Но в некоторых случаях, мне нужно эти 2 кнопки на UC1, я делаю 2 кнопки, как видно верно следуют стилю доке Настраиваем GRID на None

grid.Dock = DockStyle.None; 

После установки DockStyle непревзойденными, сетка-х ширина становится меньше и не соответствует ширине UC2.

Если я не использую DockStyle.None, то сетка и кнопка перекрываются.

Как разрешить ширину сетки в UC1, чтобы она соответствовала ширине UC2?

+0

попробуйте 'grid.Dock = DockStyle.Bottom' – dotctor

+0

Я попробовал DockStyle.Bottom, и сетка подходит к нижней части UC2-управления. Это приводит к огромному пробелу между кнопкой и сеткой. Поэтому я не могу пойти с этим решением –

ответ

0

Вы должны сначала разместить TableLayoutPanel на CU1, установить его для заполнения.

Затем в этой таблице создайте строку для панели, которая содержит две кнопки, и вторую строку для хранения CU2. Затем дополнительная панель и CU2 могут быть установлены на Fill.

Чтобы показать или скрыть кнопки, просто установите высоту строки строки панели в соответствующее значение или ноль.

+0

Спасибо за предложение, но дизайн UC1 не следует трогать, поскольку он используется на большинстве экранов. Любое другое решение? –

 Смежные вопросы

  • Нет связанных вопросов^_^