65.9K
CodeProject 正在变化。 阅读更多。
Home

在您的应用程序中显示 HTML

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.57/5 (8投票s)

2007年8月9日

CPOL

1分钟阅读

viewsIcon

86718

downloadIcon

2016

一个可以解析和绘制 HTML/CSS 的组件,用于画布

Screenshot - SmartTag.jpg

引言

这个组件是一个纯 C# 组件,可以解析 HTML 语法并绘制它。

Using the Code

只需将组件 (mhLabel) 拖放到您的窗体上,并指定 HTML 和 CSS 即可。

我还没有支持的 HTML 和 CSS 标签列表。如果您需要列表,请查看以下内容

  • HTML - Defines.cs (第 129 行)
  • CSS - MiniCss.cs (第 26 行)

如果您想开发自己的组件,可以查看 Controls \ Label.cs 以获取示例。

关注点

这个组件非常简单。HTML 语法被转换为标签。每个标签(例如,粗体)都是一个对象。它们中的每一个都可以通过某种方式改变环境,例如改变 CurrentState 对象,从父标签分配空间。

我将此组件从我的 Delphi 组件移植过来。由于这是我的第一个 C# 组件,我遇到了很多问题,其中之一是 GDI+ 的测量宽度非常不准确。在定位文本时,我必须估计实际宽度(例如 TextWidth - 2)。现在我知道 Graphics.MeasureCharacterRanges,但我仍然不明白为什么他们不让 TextWidth 返回实际宽度。(顺便说一下,MeasureCharacterRanges 不支持 CF)。

Screenshot - testsize.jpg

现在精确度更高了。

历史

  • 2007-08-09:初始发布
  • 2007-08-23:许可证更新,图像链接支持,[p] 标签的 bgcolor 支持
© . All rights reserved.