【发布时间】:2015-12-18 14:42:30
【问题描述】:
将 rtf 文件加载到 Windows 窗体 RichTextBox 时,它会丢失表格单元格的背景颜色。如果我们使用 WPF RichTextBox 并加载相同的文件,那么所有内容都会按照应有的格式进行格式化。
将文件加载到 Windows 窗体 RichTextBox 时是否遗漏了什么?
Windows 窗体 RichTextBox 代码 sn -p :
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog fDialog = new System.Windows.Forms.OpenFileDialog();
fDialog.Filter = "Rich Text Files (*.rtf)|*.rtf";
fDialog.Multiselect = false;
fDialog.RestoreDirectory = true;
if (fDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
if (fDialog.FileName != "")
{
richTextBox1.LoadFile(fDialog.FileName, RichTextBoxStreamType.RichText );
}
}
}
在上面的代码sn-p中我也试过用
richTextBox1.Rtf = File.ReadAllText(fDialog.FileName);
和
richTextBox1.LoadFile(fDialog.FileName);
WPF RichTextBox 代码 sn-p
private void load_file_Click(object sender, RoutedEventArgs e)
{
System.Windows.Forms.OpenFileDialog fDialog = new System.Windows.Forms.OpenFileDialog();
fDialog.Filter = "Rich Text Files (*.rtf)|*.rtf";
fDialog.Multiselect = false;
fDialog.RestoreDirectory = true;
if (fDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
if (fDialog.FileName != "")
{
FileStream fStream;
fStream = new FileStream(fDialog.FileName, FileMode.Open, FileAccess.Read, FileShare.Read);
richtextbox1.SelectAll();
richtextbox1.Selection.Load(fStream, DataFormats.Rtf);
fStream.Close();
}
}
}
提前感谢您的帮助。
史蒂夫。
【问题讨论】:
-
感谢 cmets,sn-ps 取自我创建的快速测试项目,因此我们可以在更大的项目中解决问题,我们正在使用 using 语句。
标签: c# .net wpf winforms richtextbox