我的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());
繁华开满天机
TA贡献1816条经验 获得超4个赞
在代码之前添加此行
if(!richTextBox_Console.Document.Blocks.Any())richTextBox_Console.Document.Blocks.Add(new Paragraph());
它将检查文本中是否有任何块,如果没有,则为您添加一个段落。
另外,最好将FirstOrDefault()更改为First(),在这种情况下,下次您将知道问题是您没有段落/节
- 2 回答
- 0 关注
- 194 浏览
添加回答
举报
0/150
提交
取消