我正在为我的“大型”WinForms项目编写一个小助手应用程序。在这个小应用程序中,我正在显示一个带有几个按钮的UserControl。现在有标准文本到按钮的边距。
我的意思是,按钮看起来像这样:
~~~~~~~~~~~~~
~~
~ButtonText~
~~
~~~~~~~~~~~~~
但我希望ButtonText几乎“触及”按钮。换句话说:ButtonText和Buttonbounds之间的标准空间对于我的需求来说太大了。是否有可能改变这种行为?
答案 0 :(得分:1)
您可以覆盖按钮上的绘制事件,并使用ControlPaint.DrawButton(...)
和常规字符串绘制来控制按钮布局以满足您的需要。你将不得不挂钩MoseDown,MouseUp等,以使按钮被绘制成正确的状态(郁闷,闷热等)。
答案 1 :(得分:0)
要实现这一点,您可以创建一个包含停靠按钮的UserControl
,然后您可以覆盖UserControl
的行为,这样当它自动调整尺寸时,它的尺寸小于按钮的尺寸通常需要并因此强制按钮文本靠近边缘。但是,您需要使用一些试用版错误,以确保所有DPI设置的文字都可见。
您也可以考虑使用ToolStripButton
s,使用适当的渲染器使它们看起来像常规按钮。这些通常较小,您应该更多地控制按钮内文本的填充和边距,具体取决于您提供的自定义程度。