如何将带有部分斜体的文本复制到剪贴板?
How do I copy text to the clipboard with partial italics?
如何使 txtTitleofWebpage.Text 在复制到剪贴板时以斜体显示,以便用户可以将引用复制到 Microsoft Word 文档中?我正在尝试使用 C# 制作一个 Windows 表单应用程序,以根据用户输入表单的信息生成哈佛引用。
代码如下:
Clipboard.SetText(wholeName + ", (" + yOPDate + ") " + txtTitleofWebpage.Text +
" [online]. Available from: " + txtURLWeb.Text + " [Accessed: " +
accessDateWeb.Value.ToShortDateString() + "].", TextDataFormat.Rtf);
看来你必须在 html 字符串中插入一个 'header',我找到了两个这样的例子:
这适用于 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);
这会将 Hello! 复制到您的剪贴板,您必须根据我认为的大小更改片段,所以我不知道如何使用动态字符串,但我希望这能让你开始。 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)在每个开口前添加 @
"
.
这似乎更容易,因为您不必插入 header,但格式本身有点复杂。
如何使 txtTitleofWebpage.Text 在复制到剪贴板时以斜体显示,以便用户可以将引用复制到 Microsoft Word 文档中?我正在尝试使用 C# 制作一个 Windows 表单应用程序,以根据用户输入表单的信息生成哈佛引用。
代码如下:
Clipboard.SetText(wholeName + ", (" + yOPDate + ") " + txtTitleofWebpage.Text +
" [online]. Available from: " + txtURLWeb.Text + " [Accessed: " +
accessDateWeb.Value.ToShortDateString() + "].", TextDataFormat.Rtf);
看来你必须在 html 字符串中插入一个 'header',我找到了两个这样的例子:
这适用于 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);
这会将 Hello! 复制到您的剪贴板,您必须根据我认为的大小更改片段,所以我不知道如何使用动态字符串,但我希望这能让你开始。 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)在每个开口前添加 @
"
.
这似乎更容易,因为您不必插入 header,但格式本身有点复杂。