Windows Mobile上的HTML解析器

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

参考链接:

An HTML Label for the .NET CF

'Parsing HTML in Microsoft C#'

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CSDN技术头条

React开发实践:如何做出好用的Switch组件

前言 HTML5 将 Web 开发者的战场从传统的 PC 端带到了移动端。然而移动端交互的核心在于手势和滑动,如果只是将 PC 端的点击体验简单地移植到移动端,...

2619
来自专栏前端之心

你真的了解回流和重绘吗

最近有空对其进行了一些研究,看了一些博客和书籍,整理了一些内容并且结合一些例子,写了这篇文章,希望可以帮助到大家。

8895
来自专栏WindCoder

photoshop技巧之 在排版文字时常会用到的快捷键技巧

这两天兴致来了,又开始了PS学习之旅,看到教程中的思考,不由去网上搜索了一番,暂且记录在这里。

1290
来自专栏Google Dart

AngularDart Material Design 切换 顶

用户可以点击切换按钮来更改状态。 通常,当您有一个ON / OFF选项时,您可以使用切换按钮。 如果您要一组中的多个选项中选中/取消选中,请改用material...

822
来自专栏微信小开发

五分钟掌握微信小程序轮播图

从公共库v1.4.0开始,change事件返回detail中包含一个source字段,表示导致变更的原因,可能值如下: autoplay 自动播放导致 swip...

2336
来自专栏Android 技术栈

性能优化之布局优化记录

做开发时间长了之后,收集后台的bug,发现很多都是OOM(Out Of Memory Killer)。性能优化这时候成为了重点,下面是自己项目中布局优化的记录,...

762
来自专栏极乐技术社区

微信小程序开发详解《五》布局基础

1:Flex布局 Flex布局如图所示 image.png 1.1 Flex容器属性 image.png 1.2 Flex容器内元素属性 image...

6205
来自专栏韩东吉的Unity杂货铺

零基础入门 13: UGUI Text

前几篇介绍了UGUI里的Image,今天来说下UGUI 的Text,显示文本的组件。因为有了之前代码创建Image的铺垫,所以对Text的使用就都在这篇介绍了。

1472
来自专栏我和未来有约会

Silverlight制作scrollbar.

最近要用silverlight开发一个小程序.做了一个scrollbar.其实sl自己带了这个控件,但是如果要样式和自己的程序的风格完全一致的话也是有些难度的....

1947
来自专栏QQ音乐技术团队的专栏

iOS 开发之动画中的时间

在 iOS 开发中使用动画时,可以通过设置动画的 duration、speed、begintime、offset 属性,来设置动画的时长、速度、起始时间及起始偏...

3640

扫码关注云+社区

领取腾讯云代金券