RichTextBox在选择文本之前不显示格式

时间:2014-09-15 13:14:17

标签: vb.net richtextbox

我已经以编程方式向表单添加了RichTextBox控件,但在尝试格式化时,我似乎遇到了很多问题。请注意,我已通过GDI手动添加了控件,但也遇到了同样的问题。

基本上发生的事情是我的控件被绘制但使用与表单相同的初始背景颜色(即使我手动指定了不同的颜色)。在加载表单时控件也显示为空,但是,我可以手动点击鼠标,获取文本所在的文本'出现。

如果我在控件内单击并拖动,那么我的所有文本都会显示我定义的所有格式。我不知道是什么造成了这种情况,但我已经尝试了Refesh表单,刷新控件,更新控件但没有任何效果。我还尝试使用.Text.SelectedText.AppendText,以及.SelectionColor.SelectionBackColor

我的代码就是这样:

Dim rtb As RichTextBox = New RichTextBox
rtb.Location = New Point(94, 229)
rtb.Size = New Size(608, 46)
rtb.BackColor = Color.FromArgb(38, 38, 38)
rtb.ForeColor = Color.LightGray
rtb.AppendText(_ticket.ticket_lastcomment)
Me.Controls.Add(rtb)

然而,它创建了一个新的RichTextBox,它与表单(Color.Control)的颜色相同并且为空。在我手动高亮显示文本之前,不会对控件应用格式化。

我以前从未见过这个。

更新

经过各种试错和移动代码后,我发现阻止绘制RichTextBox的代码是:

Me.animator = New FormAnimator(Me, FormAnimator.AnimationMethod.Centre, FormAnimator.AnimationDirection.Right, 200)

我将FormAnimator应用于表单,以便在打开时对其产生影响。删除这段代码可以让RichTextBox正确绘制.....很奇怪。

2 个答案:

答案 0 :(得分:0)

试试这个:)

rtb.rtf =_ticket.ticket_lastcomment

答案 1 :(得分:0)

我知道这个答案有点晚了,但它可能对未来的访客有所帮助。 您所要做的就是首先将RichTextBox添加到表单中,然后设置文本:

Me.Controls.Add(rtb)
rtb.AppendText(_ticket.ticket_lastcomment)