我将文本复制到剪贴板时遇到了奇怪的问题。我想从文本框中复制带有其他格式的文本。为了做到这一点,我拦截文本框上的KeyDown事件,我检查按下CTRL和C键。那我就像那样
string extraFormatedText = formatText(txtBox.Text);
Clipboard.SetText(extraFormatedText, TextDataFormat.Text);
函数formatText在文本中添加了几个空的附加行。但是,如果我将此文本粘贴到记事本中,则没有其他格式。 为什么???
如果我调用函数Clipboard.GetText()
,我可以清楚地看到返回的字符串中有额外的字符(\ n \ r)。
答案 0 :(得分:1)
答案 1 :(得分:1)
如果你只是添加\ n来插入新行,记事本将无法理解,因为它期望\ r \ n作为换行符。尝试将文本粘贴到Notepad ++中,您会看到实际存在换行符。
使用Environment.NewLine更安全,它在Windows上将完全为您提供\ r \ n。