为什么标签控件不将 DIV 呈现为 HTML (AllowHtmlString=true)

Why label control does not render DIV as HTML (AllowHtmlString=true)

我想将一些字符串居中。

看到了

https://documentation.devexpress.com/WindowsForms/9536/Controls-and-Libraries/Editors-and-Simple-Controls/Simple-Editors/Examples/How-to-Format-Text-in-LabelControl-Using-HTML-Tags

所以,我写了这段代码。

        labelControl1.Text = "<div style=\"text-align:center;\">center</div><br>" +
                                    "<size=14>Size = 14<br>" +
                                    "Bold <i>Italic</i> <u>Underline</u><br>" +
                                    "<color=255, 0, 0>Sample Text</color></size>";
        labelControl1.AllowHtmlString = true;
        labelControl1.Appearance.TextOptions.WordWrap = WordWrap.Wrap;
        labelControl1.Appearance.Options.UseTextOptions = true;
        labelControl1.AutoSizeMode = LabelAutoSizeMode.Vertical;

但是,它没有用。

它有什么问题?

根据 documentation,仅支持特定的 HTML 标签,div 不在列表中。

根据您的要求,您可以将文本分成两个标签,一个居中(AutoSize=False,TextAlign=MiddleCenter),另一个带有 HTML。

根据 HTML Text Formatting documentationLabelControl.AllowHtmlString 属性 支持这些标签和 "pseudotags"(当前 HTML 标准中不存在的标签,但可用于标签控件中的渲染目的):

普通HTML标签

  • <b> - 粗体文本

  • <i> - 斜体文本

  • <s> - 删除线

  • <u> - 下划线

  • <br>(当前 HTML 等价于 <br />

伪标签

  • <color>(相当于CSScolor

  • <backcolor>(相当于CSSbackground-color

  • <size>(相当于CSSfont-size

  • <image=value>(相当于HTML<img src="value">

  • <href=url>(相当于HTML<a href="url">

  • <nbsp>(相当于HTML&nbsp;

HTML <div> 标签不包含在上述支持的标签中,因此它将呈现为标准文本。