RichTextBoxでテキストを取得した後、テキストをクリアしたいと思います。どうやってやるの?
TextRange txt = new TextRange(richtxtSNotice.Document.ContentStart, richtxtSNotice.Document.ContentEnd);
MessageBox.Show(txt.Text);
以下を使用してください。
_richTextBox.Document.Blocks.Clear();
これは簡単な方法です。
public void Clear()
{
richTextBox1.SelectAll();
richTextBox1.Selection.Text = "";
}
コンテンツTextRange
付きのを作成してから、空の文字列に設定してみてください。RichBoxText
Text
TextRange txt = new TextRange(richtxtSNotice.Document.ContentStart, richtxtSNotice.Document.ContentEnd);
txt.Text = "";
リッチテキストボックスにボタンなどのInlineUIContainer要素があると、リッチテキストボックスをクリアするのに問題がありました。この場合、私は例外を受け取りました
myRichTextBox.Document.Blocks.Clear ();
私はこれを回避することができます
myRichTextBox.Document = new System.Windows.Documents.FlowDocument ();
もちろん、これはInlineUIContainer要素が含まれているかどうかに関係なく機能します。
richTextBoxをクリアしても、richTextBox.Text="";を使用してrichTextBoxからすべてのテキストが削除されるとは限らないことがわかりました。またはrichTextBox.Clear(); 最初の数行だけがクリアされました。
この問題を修正するために、Update()関数呼び出しを含めてこの問題を解決しました。
richTextBox.Clear();
に続く
richTextBox.Update();
richTextBoxを確実にクリアします。
リッチテキストボックスのすべてのコンテンツをクリアするには、次のコードを使用できます
richTextBox1->SelectAll();
richTextBox1->Clear();
私が知っている最も簡単な方法は置くことです
(your richTextbox name).text = "";
これは、テキストボックスフィールドのすべてを空白のコードに置き換えるように指示します。他にも方法があると思います。