基本信息
源码名称: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();
}