【发布时间】:2013-10-28 17:08:14
【问题描述】:
如何完全删除标签控件中的填充?
我尝试将 Margin 和 Padding 属性设置为零,但 Label 内的边距像素仍然很少。
我希望 Windows 窗体中的左右填充为零或非常小(小于“空格”字符宽度的一半)。
对于放置在非常靠近其他标签的标签,我需要这个,但是当我非常靠近放置标签时 - 放置在顶部的标签的背景覆盖了其他标签文本。我在一个标签上使用右对齐,在另一个标签上使用左对齐,它看起来像这样:
无论 AutoSize 属性如何,我都有这个问题。控件右侧的填充总是太多。
在 WPF 中,它可以按我的意愿工作,但我必须使用 Windows 窗体。
我不能使用 TextBox 控件(它可以在我想要的地方工作),因为它不支持透明背景。
【问题讨论】:
-
Margin 和 Padding 与它无关,即 TextFormatFlags.GlyphOverhangPadding,为 Label 控件启用。它可以防止某些字形,尤其是斜体字形,落在边界框之外。摆脱它的一种简单但粗略的方法是将标签的 UseCompatibleTextRendering 属性设置为 True。让标签重叠只是没有正确设置 Location 属性的一种情况。
-
标签不包含属性
TextFormatFlags。我找错地方了? -
是的,您必须查看 Label 控件的源代码。
-
你可能不理解我。我有背景重叠的问题,因为我必须以这种方式(错误的方式)放置标签,因为我希望 2 个相邻标签中的字符之间有狭窄的空间。
-
那么如何更改 TextFormatFlags?