122

RichTextBox のテキストを設定/取得しようとしていますが、test.Text を取得したいときに Text がそのプロパティのリストにありません...

C# で分離コードを使用しています (.net Framework 3.5 SP1)

RichTextBox test = new RichTextBox();

持つことはできませんtest.Text(?)

なぜそれが可能になるのか知っていますか?

4

10 に答える 10

132

RichTextBoxテキストを設定するには:

richTextBox1.Document.Blocks.Clear();
richTextBox1.Document.Blocks.Add(new Paragraph(new Run("Text")));

RichTextBoxテキストを取得するには:

string richText = new TextRange(richTextBox1.Document.ContentStart, richTextBox1.Document.ContentEnd).Text;
于 2012-09-29T08:32:15.883 に答える
66

System.Windows.FormsSystem.Windows.Controlの RichTextBox の間に混乱がありました。

私はWPFを使用しているので、コントロールのものを使用しています。そこには Text プロパティがありません。テキストを取得するには、次の行を使用する必要がありました。

string myText = new TextRange(transcriberArea.Document.ContentStart, transcriberArea.Document.ContentEnd).Text; 

ありがとう

于 2009-06-05T19:19:31.880 に答える
39

WPF RichTextBox にはDocument、コンテンツMSDN 風に設定するためのプロパティがあります。

// Create a FlowDocument to contain content for the RichTextBox.
        FlowDocument myFlowDoc = new FlowDocument();

        // Add paragraphs to the FlowDocument.
        myFlowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 1")));
        myFlowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 2")));
        myFlowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 3")));
        RichTextBox myRichTextBox = new RichTextBox();

        // Add initial content to the RichTextBox.
        myRichTextBox.Document = myFlowDoc;

AppendTextただし、それがすべての場合は、メソッドを使用できます。

それが役立つことを願っています。

于 2009-09-16T11:25:53.697 に答える
15

TextWPF RichTextBox コントロールにはプロパティがありません。すべてのテキストを取り出す 1 つの方法を次に示します。

TextRange range = new TextRange(myRTB.Document.ContentStart, myRTB.Document.ContentEnd);

string allText = range.Text;
于 2011-10-20T20:53:49.533 に答える
13
string GetString(RichTextBox rtb)
{
    var textRange = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
    return textRange.Text;
}
于 2012-01-11T18:15:30.727 に答える
8
RichTextBox rtf = new RichTextBox();
System.IO.MemoryStream stream = new System.IO.MemoryStream(ASCIIEncoding.Default.GetBytes(yourText));

rtf.Selection.Load(stream, DataFormats.Rtf);

また

rtf.Selection.Text = yourText;
于 2013-08-08T09:19:57.010 に答える
8

次のことを行うだけではどうですか。

_richTextBox.SelectAll();
string myText = _richTextBox.Selection.Text;
于 2012-08-16T20:33:12.527 に答える
4

"Extended WPF Toolkit" は、Text プロパティを持つリッチテキスト ボックスを提供するようになりました。

さまざまな形式 (XAML、RTF、およびプレーンテキスト) でテキストを取得または設定できます。

リンクは次のとおりです:拡張 WPF ツールキット RichTextBox

于 2012-03-13T06:53:46.653 に答える
-12

this によると、 Text プロパティがあります

http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox_members.aspx

テキストを行として分割したい場合は、「行」プロパティを試すこともできます。

于 2009-06-05T19:02:20.760 に答える