C#使用CF_HTML总结

我的 .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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值