Подтвердить что ты не робот

Как создать надпись GroupBox отдельно от ее содержимого?

Я разрабатываю приложение WinForms и в одной форме, я использую GroupBox для группировки связанных элементов управления вместе. Я хотел бы стилизовать заголовок определенным образом (например, сделать надпись полужирным шрифтом). Изменив стиль для GroupBox, я могу настроить подпись, но также изменяет стиль для элементов управления в GroupBox.

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

Есть ли способ?

4b9b3361

Ответ 1

Самый простой способ - разместить другую панель внутри GroupBox, так что вам нужно будет только reset шрифт.

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

Ответ 2

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

Возможно, вам стоит взглянуть на рисунок владельца GroupBox caption?

Ответ 3

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