我正在尝试设置/获取我的 RichTextBox 的文本,但是当我想获取 test.Text 时,Text 不在其属性列表中...
我在 C# (.net framework 3.5 SP1) 中使用代码
RichTextBox test = new RichTextBox();
不能有test.Text(?)
你知道怎么可能吗?
我正在尝试设置/获取我的 RichTextBox 的文本,但是当我想获取 test.Text 时,Text 不在其属性列表中...
我在 C# (.net framework 3.5 SP1) 中使用代码
RichTextBox test = new RichTextBox();
不能有test.Text(?)
你知道怎么可能吗?
设置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;
System.Windows.Forms和System.Windows.Control中的 RichTextBox 之间存在混淆
我正在使用控件中的那个,因为我正在使用 WPF。在那里,没有 Text 属性,为了获取文本,我应该使用这一行:
string myText = new TextRange(transcriberArea.Document.ContentStart, transcriberArea.Document.ContentEnd).Text;
谢谢
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
如果这就是你所追求的,你可以只使用这种方法。
希望有帮助。
使用两种扩展方法,这变得非常简单:
public static class Ext
{
public static void SetText(this RichTextBox richTextBox, string text)
{
richTextBox.Document.Blocks.Clear();
richTextBox.Document.Blocks.Add(new Paragraph(new Run(text)));
}
public static string GetText(this RichTextBox richTextBox)
{
return new TextRange(richTextBox.Document.ContentStart,
richTextBox.Document.ContentEnd).Text;
}
}
WPF RichTextBox 控件中没有Text
属性。这是获取所有文本的一种方法:
TextRange range = new TextRange(myRTB.Document.ContentStart, myRTB.Document.ContentEnd);
string allText = range.Text;
string GetString(RichTextBox rtb)
{
var textRange = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
return textRange.Text;
}
How about just doing the following:
_richTextBox.SelectAll();
string myText = _richTextBox.Selection.Text;
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;
据此,它确实有一个 Text 属性
http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox_members.aspx
如果您希望将文本拆分为线条,也可以尝试“线条”属性。