簡體   English   中英

如何刪除RichTextBox的內容並添加新內容?

[英]How do I delete the contents of a RichTextBox and add new contents?

如何刪除RichTextBox的內容並添加新內容?

我正在從數據庫中檢索數據的多個部分。 RichTextBox顯示數據庫的第一部分。

客戶單擊“下一步”按鈕。RichTextBox應該顯示數據庫的第二部分。 以下代碼將第二部分連接到第一部分。

gRTbx.Document.Blocks.Clear();

gobjParagaph.Inlines.Add(new Run(st));
gobjFlowDoc.Blocks.Add(gobjParagaph);
gRTbx.Document = gobjFlowDoc;

在添加到RichTextBox之前,我還嘗試過放置它。

gobjFlowDoc.Blocks.Clear();

如何從RichTextBox中刪除第一部分...然后顯示第二部分?

您需要用一個新的FlowDocument替換它(或重新實例化它)。 下面是一個簡單的示例,在單擊按鈕時將文本放入RichTextBox ,然后在第二次單擊按鈕時將其替換為其他文本。

  private int numTimes = 0;

  private void SimpleTest(object sender, RoutedEventArgs e)
  {
    if (numTimes == 0)
    {
      FlowDocument fd = new FlowDocument();
      Paragraph p = new Paragraph();
      p.Inlines.Add("This is the first bit of text.");
      fd.Blocks.Add(p);
      gRTbx.Document = fd;
      numTimes++;
    }
    else
    {
      FlowDocument fd = new FlowDocument();
      Paragraph p = new Paragraph();
      p.Inlines.Add("This is the second bit of text.");
      fd.Blocks.Add(p);
      gRTbx.Document = fd;
    }
  }

如果您不想重新實例化FlowDocument ,則可以清除它。 只需確保清除它,然后Blocks其添加新Blocks

  private int numTimes = 0;
  private FlowDocument fd = new FlowDocument();
  private Paragraph p = new Paragraph();

  private void SimpleTest(object sender, RoutedEventArgs e)
  {
    if (numTimes == 0)
    {
      p.Inlines.Add("This is the first bit of text.");
      fd.Blocks.Add(p);
      gRTbx.Document = fd;
      numTimes++;
    }
    else
    {
      p.Inlines.Clear();
      fd.Blocks.Clear();
      p.Inlines.Add("This is the second bit of text.");
      fd.Blocks.Add(p);
      gRTbx.Document = fd;
    }
  }

請務必也很清楚了InlinesParagraph對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM