Как перекрыть одну сторону двух панелей со свойствами стыковки Top и Fill для каждой?

У меня есть форма без полей, для которой я хочу сделать границу с помощью двух панелей. Один из них - быть обладателем титула, для которого я установил свойство док-станции наверх. Другой, который должен быть областью содержимого формы, устанавливается в свойство стыковки заливки.

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

Выстрел

Мне нужна толстая рамка, как и любая другая сторона панели, без дополнительной ширины.


person Medise    schedule 06.10.2015    source источник
comment
Пробовали ли вы использовать SplitContainer?   -  person stefankmitph    schedule 06.10.2015
comment
Попробуйте установить свойства Margin (и, возможно, отступы) на ноль.   -  person DeadZone    schedule 06.10.2015
comment
Панели как печенье, их легко есть, но вы быстро наберете непривлекательный вес. Восстановить функциональность, утраченную из-за отсутствия строки заголовка, намного проще, если вы вообще не используете панель. Вместо этого используйте событие Paint формы.   -  person Hans Passant    schedule 06.10.2015


Ответы (1)


То, что вы хотите, не может быть сделано со стандартным Panel (я предполагаю, что WinForms). Вы также можете:

  1. Создайте своего собственного потомка Panel и нарисуйте его сами (это не должно быть так сложно)
  2. Будь умным:

    2.1 Создайте панель, которая покрывает обе панели: добавьте к ней границу и установите Padding и Margin на 0

    2.2 Сделайте верхнюю и нижнюю панели без полей и внутри этой родительской панели

    2.3 Создайте панель высотой 1 пиксель (или толщиной вашей границы), прикрепленную сверху, под вашей верхней панелью и над вашей нижней (прикрепленной к клиенту) панелью, без полей, но заполненную цветом границы на родительской панели.

Если ваши границы не трехмерные, это будет выглядеть так, как вы ожидаете:

Образец

person Jcl    schedule 06.10.2015
comment
Отлично, Быть умным! Спасибо. - person Medise; 06.10.2015