您的位置:首页 > Web前端 > HTML

C#使用CF_HTML总结

2007-12-12 21:19 399 查看
我的 .NET 程序需要将剪贴板存着的HTML文档进行处理,但我不知道要怎样处理。我查询了相关资料,使用Windows 剪贴板的 CF_HTML 格式数据的确容易让人搞胡涂,所以总结了一下。

CF_HTML是UTF-8数据,要得到的是string数据,所以存取牵涉到字符编码。

1.从剪贴板读取CF_HTML



MemoryStream vMemoryStream
=
Clipboard.GetData(
"
Html Format
"
)
as
MemoryStream;





vMemoryStream.Position
=

0
;





byte
[] byteCode
=

new

byte
[vMemoryStream.Length];





vMemoryStream.Read(byteCode,
0
, (
int
)vMemoryStream.Length);





stringCode
=
Encoding.UTF8.GetString(byteCode);

2.把CF_HTML存入剪贴板,DataObject 类型数据myDataObject 用来存CF_HTML 和String 混合数据。

DataObject myDataObject
=

new
DataObject();

MemoryStream sMem
=

new
MemoryStream(byteHtml.Length);

byte
[] byteHtml
=
Encoding.UTF8.GetBytes(sData);

sMem.Write(byteHtml,
0
, byteHtml.Length);

myDataObject.SetData(DataFormats.Text, stringText);

myDataObject.SetData(DataFormats.Html, sMem);

Clipboard.SetDataObject(myDataObject,
true
);

关于更加详细的剪贴板操作可以看章立民的《Visual C# 2005程序开发与界面设计秘诀》中关于剪贴板操作的章节,或者 http://blog.csdn.net/lightningdelove/archive/2006/12/22/1453039.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: