【问题标题】:RichTextBox Control not renderingRichTextBox 控件不呈现
【发布时间】:2014-02-20 09:02:10
【问题描述】:

在我的 C# WinForms 应用程序中,RichTextBox 控件未呈现 RTF 文本。

当我添加列表并保存内容时,ListBullets 仍然存在。

FontStyles 似乎已重置为默认值、颜色、大小、FontName 等。

所以我认为我设置字体的方式可能有问题。

rtf.SelectionFont = new Font(rtf.SelectionFont.FontFamily, rtf.SelectionFont.Size, FontStyle.Bold);

当我有以下内容并且只将标题设为粗体时;

Hello World

* List item 1
* List Item 2

当我重新加载 RTF 文本时,项目符号仍然存在,但字体被重置为默认值。

更新

好吧,我发现如果我在控件加载之后设置 Rtf 属性,那么一切都很好,但是如果我在控件加载到屏幕上之前设置 Rtf 属性,我会遇到这些问题。

【问题讨论】:

  • 您是否尝试过删除<Text></Text> 标签(可能是在序列化过程中添加的?
  • 这工作:richTextBox1.Rtf = @"{\rtf1\ansi\ansicpg1252\deff0\deflang3081{\fonttbl{\f0\fnil\fcharset0 Verdana;}}\viewkind4\uc1\pard\b\i\f0\fs48 Hello World\b0\i0\fs20\par}";
  • 是的, 没有被放入 Rtf 属性中。我只是表明 Rtf 存储在 Xml 文档中。
  • 如果您发布了一个小而完整的复制品,那么您会更容易看到这里有什么困扰您
  • 根据 NSGaga 的要求,您必须包含我们可能会重现的代码才能准确理解问题。这里的一切都很重要:您添加的文本(添加方式)和选择定义(开始和长度)。

标签: c# .net winforms richtext


【解决方案1】:

如果您向我们展示更多代码会更好。

如果您将 RTF 文档加载到 RichTextBox 中,那么您会这样做

richTextBox.Rtf = rtfString;

如果是纯文本

richTextBox.Text = textString;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 2013-06-10
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    相关资源
    最近更新 更多