为了账号安全,请及时绑定邮箱和手机立即绑定

清除数据后在RichTextBox中显示数据时出错

清除数据后在RichTextBox中显示数据时出错

C#
慕容708150 2021-04-04 16:13:50
我的GUI上有一个RichTextBox,我有两个按钮,一个用于显示数据,另一个用于清除数据。在按钮DISPLAY上,我使用此例程将一些数据显示到RichTextBox中:Block firstBlock = richTextBox_Console.Document.Blocks.FirstOrDefault();richTextBox_Console.Document.Blocks.InsertBefore(firstBlock, new Paragraph(new Run("MyFirstLine= " + MyVariable + "\n" )));string message;for (int i = 0; i < 6; i++){    message = "";    message += "Line:" + (i + 1).ToString() + "\n";    richTextBox_Console.Document.Blocks.InsertBefore(firstBlock, new Paragraph(new Run(message)));}然后单击“清除”,即可执行此操作:richTextBox_Console.SelectAll();richTextBox_Console.Selection.Text = "";现在,当我再次单击“显示”按钮并在线时:richTextBox_Console.Document.Blocks.InsertBefore(firstBlock, new Paragraph(new Run("MyFirstLine= " + MyVariable + "\n" )));firstBlock是null太行抛出这个错误:值不能为null。参数名称:nextSibling知道发生了什么吗?第一次显示数据时效果很好,然后再也无法显示。我也尝试richTextBox_Console.Document.Blocks.Clear();清除,但仍然遇到相同的错误。
查看完整描述

2 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

您可以像这样实现删除按钮的事件处理程序:


richTextBox_Console.Document.Blocks.Clear();

richTextBox_Console.Document.Blocks.Add(new Paragraph());


查看完整回答
反对 回复 2021-04-17
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

在代码之前添加此行

if(!richTextBox_Console.Document.Blocks.Any())richTextBox_Console.Document.Blocks.Add(new Paragraph());

它将检查文本中是否有任何块,如果没有,则为您添加一个段落。

另外,最好将FirstOrDefault()更改为First(),在这种情况下,下次您将知道问题是您没有段落/节


查看完整回答
反对 回复 2021-04-17
  • 2 回答
  • 0 关注
  • 194 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信