【发布时间】:2015-11-05 02:13:56
【问题描述】:
我正在制作一个 C# 应用程序,在该应用程序中,我使用以下方式从富文本框中复制文本
if(!string.IsNullOrEmpty(richTextBox1.Text))
{
Clipboard.SetText(richTextBox1.Text);
}
我设置富文本框代码如下
richTextBox1.Text = file + Environment.NewLine + r + Environment.NewLine + r1 + Environment.NewLine + r2 + Environment.NewLine + r3 + Environment.NewLine + r4 + Environment.NewLine + r5 + Environment.NewLine + r6 + Environment.NewLine + r7 + Environment.NewLine + r8 + Environment.NewLine + r9 + Environment.NewLine + r10 + Environment.NewLine + r11 + Environment.NewLine + r12 + Environment.NewLine + r13;
另外,我使用
将富文本框文本保存到 .txt 文件中if (!string.IsNullOrEmpty(richTextBox1.Text))
{ SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "Text File|*.txt";
saveFileDialog1.Title = "Export EXIF Data";
// saveFileDialog1.RestoreDirectory = true;
DialogResult save = saveFileDialog1.ShowDialog();
if (save == DialogResult.OK)
{
if (saveFileDialog1.FileName != "")
{
File.WriteAllText(saveFileDialog1.FileName, richTextBox1.Text);
}
}
现在我面临的问题是,在富文本框中,文本逐行出现在我使用过 Environment.NewLine 的地方 例如
line 1
line 2
line 3
但复制/保存后,.txt 文件看起来像
line 1line 2line 3
另外,如果我使用键盘快捷键 Ctrl+C 复制文本,则文本在文本文件中显示良好。
我希望你能理解我的问题并能够帮助我。 如果需要,我可以提供更多详细信息。
更新: 通过使用 string[] 而不是像这样的字符串,我能够在将 RichTextBox 文本保存到 .txt 文件时解决问题:
新代码:
data = new String[] { file, r, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13 };
richTextBox1.Text = data[0] + Environment.NewLine + data[1] + Environment.NewLine + data[2] + Environment.NewLine + data[3] + Environment.NewLine + data[4] + Environment.NewLine + data[5] + Environment.NewLine + data[6] + Environment.NewLine + data[7] + Environment.NewLine + data[8] + Environment.NewLine + data[9] + Environment.NewLine + data[10] + Environment.NewLine + data[11] + Environment.NewLine + data[12] + Environment.NewLine + data[13] + Environment.NewLine + data[14];
//Saving:
File.WriteAllLines(saveFileDialog1.FileName, data);
旧代码:
richTextBox1.Text = file + Environment.NewLine + r + Environment.NewLine + r1 + Environment.NewLine + r2 + Environment.NewLine + r3 + Environment.NewLine + r4 + Environment.NewLine + r5 + Environment.NewLine + r6 + Environment.NewLine + r7 + Environment.NewLine + r8 + Environment.NewLine + r9 + Environment.NewLine + r10 + Environment.NewLine + r11 + Environment.NewLine + r12 + Environment.NewLine + r13;
//Saving:
File.WriteAllText(saveFileDialog1.FileName, richTextBox1.Text);
但复制仍然无法正常工作
【问题讨论】:
-
“.txt 文件看起来像”是什么意思 - 您如何检查它?您是否在二进制文件编辑器中查看过它的实际字节数?
-
这与保存对话框或 WriteAllText 有什么关系吗?似乎richTextBox1.Text 不是您所期望的。为什么要为无格式文本使用富文本框?
-
我可以将richTextbox中的文本复制并保存到一个.txt文件中,然后用记事本打开它。问题是通过代码保存/复制时,文本不是逐行放置,而是在同一行中。
-
当您在调试器中时,'richTextBox1.Text' 是否保存并保留换行符?
标签: c#