TextFormatFlags 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定文本字符串的显示和布局信息。
此枚举支持其成员值的按位组合。
public enum class TextFormatFlags
[System.Flags]
public enum TextFormatFlags
[<System.Flags>]
type TextFormatFlags =
Public Enum TextFormatFlags
- 继承
- 属性
字段
Bottom | 8 | 对齐边框底部的文本。 仅对于单行文本,才可应用此成员。 |
Default | 0 | 应用默认的格式设置,即左对齐。 |
EndEllipsis | 32768 | 移除修整行的结尾,并以省略号进行替换。 当用于通过 |
ExpandTabs | 64 | 扩展制表符。 每个制表符的默认字符数是 8。 WordEllipsis、PathEllipsis 和 EndEllipsis 值不能与 ExpandTabs 一起使用。 |
ExternalLeading | 512 | 在行高中包括字体外部间隙。 通常,文本的行高度中不包括外部间隙。 |
GlyphOverhangPadding | 0 | 在边框中添加空白边距以容纳延伸的标志符号。 这是默认值。 |
HidePrefix | 1048576 | 忽略文本中的与号 (&) 前缀字符,以便后面的字母不会加下划线,但仍处理其他助记符前缀字符。 |
HorizontalCenter | 1 | 将边框内的文本水平居中对齐。 |
Internal | 4096 | 使用系统字体计算文本规格。 |
Left | 0 | 对齐剪辑区域左侧的文本。 这是默认值。 |
LeftAndRightPadding | 536870912 | 在边框的两边添加空白边距。 |
ModifyString | 65536 | 对绘制的文本或文本度量没有影响。 当用于通过 |
NoClipping | 256 | 允许显示标志符号的延伸部分和延伸到格式化矩形外的未换行文本。 |
NoFullWidthCharacterBreak | 524288 | 没有作用的旧值。 它可防止双倍宽度字符串中出现换行符,这样一来,换行规则会等同于单倍宽度字符串的换行规则。 |
NoPadding | 268435456 | 不在边框中添加空白边距。 |
NoPrefix | 2048 | 关闭对前缀字符的处理。 通常,将与号 (&) 助记键前缀字符解释为指令来强调后面的字符,双和号 (&&) 助记键前缀字符作为指令来打印单个与数。 通过指定 NoPrefix,可以关闭此处理。 例如,应用的输入字符串“A&bc&&d” NoPrefix 将导致输出“A&bc&&d”。 与 |
PathEllipsis | 16384 | 移除修整行的中心并以省略号进行替换。 当用于通过 |
PrefixOnly | 2097152 | 仅在与号 (&) 前缀字符之后的字符位置绘制下划线,不绘制字符串中的任何其他字符。 |
PreserveGraphicsClipping | 16777216 | 保留 Graphics 对象指定的剪辑。 仅适用于接收实际上是一个 IDeviceContext 的 Graphics 的方法。 |
PreserveGraphicsTranslateTransform | 33554432 | 保留 Graphics 指定的转换。 仅适用于接收实际上是一个 IDeviceContext 的 Graphics 的方法。 |
Right | 2 | 对齐剪辑区域右侧的文本。 |
RightToLeft | 131072 | 从右向左显示文本。 |
SingleLine | 32 | 显示单行文本。 |
TextBoxControl | 8192 | 指定应格式化文本以在 TextBox 控件中显示。 |
Top | 0 | 对齐边框顶部的文本。 这是默认值。 |
VerticalCenter | 4 | 在边框内部垂直居中对齐文本。 |
WordBreak | 16 | 在单词的结尾处断开文本。 |
WordEllipsis | 262144 | 将行修整到最近的单词处,并在修整行的结尾处放置省略号。 与 EndEllipsis 和 PathEllipsis 进行比较。 |
示例
下面的示例演示如何使用 TextFormatFlags
枚举。 若要运行此示例,请将以下代码粘贴到 Windows 窗体中。 从窗体的Paint事件处理程序调用 RenderText6
,作为 e
PaintEventArgs传递。
private void RenderText6(PaintEventArgs e)
{
TextFormatFlags flags = TextFormatFlags.Bottom | TextFormatFlags.EndEllipsis;
TextRenderer.DrawText(e.Graphics, "This is some text that will be clipped at the end.", this.Font,
new Rectangle(10, 10, 100, 50), SystemColors.ControlText, flags);
}
Private Sub RenderText6(ByVal e As PaintEventArgs)
Dim flags As TextFormatFlags = TextFormatFlags.Bottom Or _
TextFormatFlags.EndEllipsis
TextRenderer.DrawText(e.Graphics, _
"This is some text that will be clipped at the end.", _
Me.Font, New Rectangle(10, 10, 100, 50), SystemColors.ControlText, flags)
End Sub
注解
枚举 TextFormatFlags
在绘制和测量文本时由 TextRenderer 使用。
TextRenderer 不支持向绘制的文本添加制表位,虽然可以使用 ExpandTabs
标志扩展现有制表位。