基本信息
源码名称:C# 剪贴板功能 同时黏贴图片和文字等html内容 支持中文
源码大小:1.76KB
文件格式:.cs
开发语言:C#
更新时间:2013-09-25
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
private void btnTest_Click(object sender, EventArgs e) { string html = "<div>这是中文,后面是文字<img src=\"http://www.baidu.com/img/bdlogo.gif\" /><br>后面还是文字,非常不错的昂,不错吧 </div>"; var data = GetHtmlData(html); Clipboard.SetData(DataFormats.Html, data); } private static string GetHtmlData(string html) { var sb = new StringBuilder(); const string header = @"Format:HTML Format Version:1.0 StartHTML:<<<<<<<1 EndHTML:<<<<<<<2 StartFragment:<<<<<<<3 EndFragment:<<<<<<<4 StartSelection:<<<<<<<3 EndSelection:<<<<<<<3"; sb.Append(header); int startHtml = sb.Length; sb.Append(@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN""><!--StartFragment-->"); int fragmentStart = sb.Length; sb.Append(html); int fragmentEnd = sb.Length; sb.Append(@"<!--EndFragment-->"); int endHtml = sb.Length; // Backpatch offsets sb.Replace("<<<<<<<1", String.Format("{0,8}", startHtml)); sb.Replace("<<<<<<<2", String.Format("{0,8}", endHtml)); sb.Replace("<<<<<<<3", String.Format("{0,8}", fragmentStart)); sb.Replace("<<<<<<<4", String.Format("{0,8}", fragmentEnd)); MemoryStream vMemoryStream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(sb.ToString())); //MemoryStream vMemoryStream = new MemoryStream(System.Text.Encoding.GetEncoding("gb2312").GetBytes(sb.ToString())); string str = Encoding.GetEncoding(0).GetString(vMemoryStream.ToArray()); return str; return sb.ToString(); }