我有一个RichTextBox,我使用一个简单的write方法在其上编写长数据列表(见下)
我使用垂直滚动条,写入和清除很好。 清除文本后问题是新文本。
我使用textbox.clear();清除该框确定,但是当新文本到达时,旧的(清除!)文本再次出现,然后是新文本。
我也尝试过: ResetText,Refresh,Update。 dispose,Text =“,richTextBox.Document.Blocks.Clear();(没有那个)。 还试过新的textbox = new textbox,都无济于事。
文本一次又一次地显示,直到我重置应用程序。 我已经在那个上看过几个表单线程,但没有帮助。
我的猜测:我使用两个滚动条。滚动条必须有缓冲区,数据是否保存在活动滚动条缓冲区中?
任何(好的)想法都会受到祝福。
这是我在richtextbox中编写/删除文本的方法: (简化.mainDisplay是一个RichTextBox)
public void mainDisplayText(string text)
{
this.mainDisplay.AppendText(text);
this.mainDisplay.ScrollToCaret();
}
private void btnClear_Click(object sender, EventArgs e)
{
//Have tried all these options:
this.mainDisplay.Text = ""; //or
this.mainDisplay.Clear(); //or
this.mainDisplay.SelectAll(); //or
this.mainDisplay.SelectedText = "";
}
答案 0 :(得分:1)
你正在重复使用相同的字符串,所以:
this.mainDisplay.Clear();
text = string.Empty;
应该做的伎俩:)
答案 1 :(得分:0)
确实很奇怪。这可能是.net 4.7.x中的问题吗?从上周开始,我编译了4.7.2中的所有内容,并且此问题也在这里出现。 Clear()似乎带回了.Text内容。因此,在之后 Text =“”之后的Clear()无效。