看来您必须在 html 字符串中插入一个“标题”,我为此找到了 2 个示例:
这适用于 Word:
示例代码:
Clipboard.SetText(@"Version:1.0
StartHTML:000125
EndHTML:000260
StartFragment:000209
EndFragment:000222
<HTML>
<head>
<title>HTML clipboard</title>
</head>
<body>
<!–StartFragment–><b>Hello!</b><!–EndFragment–>
</body>
</html>",
TextDataFormat.Html);
这复制了一个你好!到您的剪贴板,您必须根据我认为的大小更改片段,所以我不知道这将如何与动态字符串一起使用,但我希望这能让您入门。666
如果你也可以使用 RTF
Clipboard.SetText(@"{\rtf1\ansi This is in \i\f0\fs17 italic\i0.}",
TextDataFormat.Rtf);
字符串示例
var q = "test123";
Clipboard.SetText(@"{\rtf1\ansi This is in \i\f0\fs17 " + q + @"\i0.}",
TextDataFormat.Rtf);
或者
var q = "test123";
Clipboard.SetText( $@"{\rtf1\ansi This is in \i\f0\fs17 {q}\i0.}",
TextDataFormat.Rtf);
请注意@
字符串的第二部分之前,如果您需要转义某些字符(您需要使用RTF) ,请@
在每个开头添加"
。
这似乎要容易得多,因为您不必插入标题,但格式本身有点复杂 imo。