[英]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;
}
}
請務必也很清楚了Inlines
在Paragraph
對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.