使用CopySourceAsHtml+CSS, 打造Dflying Chen博客上的源代码样式
我自己也修改了一些, 加上了相邻行背景色可设置,
并做一些自己觉得需要的修改, 我修改后的DLL可在此下载: CopySourceAsHtml.dll.
添加样式表: 其中.cf的样式来自Dflying Chen 老大的博客.
样式示例:
.cf {
font-family: consolas, "Courier New", courier, monospace;
font-size: 1.2em;
color: black;
background-color: #fff;
line-height: 1em;
/*white-space: pre;*/
}
.cf p.cl { margin: 0; padding: 0; } /*普通行*/
.cf p.cl_alt { margin: 0; padding: 0; background-color: #f4f4f4;} /*相邻行*/
.cln { color: #2b91af; } /*行号*/
.cb_green { color: green; } /*按颜色分*/
.cb_blue { color: blue; }
.cb_2b91af { color: #2b91af; }
.cb_a31515 { color: #a31515; }
.cb_red { color: red; }
示例:
不带行号:
public static void SetHtml(string html)
{
DataObject data;
data = new DataObject();
data.SetData(DataFormats.Text, true, html);
//data.SetData(DataFormats.UnicodeText, true, html);
data.SetData(DataFormats.Html, true, EncodeHtml(html));
//MessageBox.Show(data.GetText(TextDataFormat.Html));
System.Windows.Forms.Clipboard.SetDataObject(data, true);
}
带行号:
34 public static void SetHtml(string html)
35 {
36
37 DataObject data;
38
39 data = new DataObject();
40 data.SetData(DataFormats.Text, true, html);
41 //data.SetData(DataFormats.UnicodeText, true, html);
42 data.SetData(DataFormats.Html, true, EncodeHtml(html));
43 //MessageBox.Show(data.GetText(TextDataFormat.Html));
44 System.Windows.Forms.Clipboard.SetDataObject(data, true);
45
46 }
希望Dflying Chen能让我抄袭一下他的样式.
:)