Изменение поля / отступа ButtonText - PullRequest
1 голос
/ 18 ноября 2010

В настоящее время я пишу небольшое вспомогательное приложение для моего "большого" WinForms-Project. В этом небольшом приложении я показываю UserControl с несколькими кнопками на нем. Теперь есть те стандартные поля текста к кнопке.

Я имею в виду, что кнопки выглядят так:

~~~~~~~~~~~~~
~ ~
~ ButtonText ~
~ ~
~~~~~~~~~~~~~

Но я хочу, чтобы ButtonText почти «касался» границ кнопок. Другими словами: стандартное пространство между ButtonText и Buttonbounds слишком велико для моих нужд. Можно ли изменить это поведение?

Ответы [ 2 ]

1 голос
/ 18 ноября 2010

Вы можете переопределить событие рисования на кнопке и использовать ControlPaint.DrawButton(...) вместе с обычным рисованием строк для управления макетом кнопки в соответствии с вашими потребностями. Вам нужно будет перехватить MoseDown, MouseUp и т. Д., Чтобы вывести кнопку в правильное состояние (нажато, горячо и т. Д.).

0 голосов
/ 18 ноября 2010

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

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

...