无法完全清除richtextbox

时间:2014-08-14 02:31:31

标签: c#

我有一个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 = "";
    }

2 个答案:

答案 0 :(得分:1)

你正在重复使用相同的字符串,所以:

this.mainDisplay.Clear();
text = string.Empty;

应该做的伎俩:)

答案 1 :(得分:0)

确实很奇怪。这可能是.net 4.7.x中的问题吗?从上周开始,我编译了4.7.2中的所有内容,并且此问题也在这里出现。 Clear()似乎带回了.Text内容。因此,在之后 Text =“”之后的Clear()无效。