Matjaž Prtenjak提出这个移动设备上HTML解析器、并表现在HTML Label上的最初目的,就是为了能够在界面上实时地改变一些控件上的文字内容和位置、字体大小、字体颜色等等。作者根据Jeff Heaton的《'Parsing HTML in Microsoft C#'》写了HTML解析器,使其变得更加小巧,适合于移动平台上使用。
作者提供了一个控件的源代码和控件使用Demo的源代码,使用控件的方法也很简单,只要用visual studio新建一个工程,加入控件源代码HTMLLabel.cs和HTMLParser.cs,编译就可以了。利用该HTML控件,我们可以实现以下功能:
1. 展示一些简单的带有<b>, <i>, <u>, <pre>, <br>, <font>和<p>等标记的HTML代码,除此之外,它还支持<label
>标记。
2. 替代许多不同的<label
>标记,或者将它们合在一起。
3. 缩短InitializeComponent()
函数的执行时间。
4. 具有Click
事件,在.NET CF中是没有的。
解释一些HTML标记如下:<b
>表示粗体;<i>表示斜体;<u>表示下划线;<p>表示段落,其属性align
表示对其方式;<font>表示字体,name
属性表示字体类别,size
属性表示字体大小,color
表示字体颜色;<pre
>表示连接上文。
看看其字体解析的效果吧,如下HTML代码:
Code
<font size='8' name='Tahoma' color='red'>Tahoma, 8, red</font>
<font size='12' name='Courier new' color='blue'>Courier new, 12, blue</font>
<font size='8' name='Tahoma' color='green'>Tahoma, 8, green, <b>bold</b></font>
运行效果如下图1所示:
图1:字体运行效果
对齐方式的HTML代码如下:
Code
<p align='left'>left</p>
<p align='center'>center</p>
<p align='right'>right</p>
其效果如图2所示:
图2:对齐方式效果
另外,使用label标记的HTML代码如下:
Code
<font size='{0}'>
This text box <label id='TextBox1' width='{1}' height='{2}'> will be positioned on the right place even if text changes.
So as this <label id='Button1' width='{3}' height='{4}'> and this <label id='Button2' width='{5}' height='{6}'> button.
<font color='red'>The value written in text box will be visible <b><label id='outText' width='70'></b> here.</font>
</font>
我们还可以修改其label中的内容,并实时刷新,如下图3所示:
图3:Label效果图
要完全研究其中的代码,我们可以去这里查看并下载:An HTML Label for the .NET CF。
参考链接: