簡體   English   中英

如何將插入符位置的整個字符串導入RichTextBox?

[英]How to get entire string at line of caret position into RichTextBox?

我使用的是Visual Studio 2008,似乎RichTextbox屬性中沒有CaretPosition函數。 我怎樣才能使整個行都在插入符位置? 例如,我寫了這個:

              show databases;
              show tables;/* (the caret (|) is flashing just here so after pressing a button i want to display "show tables"*/
              show functions; 

我能怎么做? 提前致謝。

如果您使用的是WPF

        TextPointer caretPos = rtb.CaretPosition;
        TextPointer start=caretPos.GetLineStartPosition(0);
        TextPointer end = (caretPos.GetLineStartPosition(1) != null ? caretPos.GetLineStartPosition(1) : caretPos.DocumentEnd);

        TextRange tr = new TextRange(start, end);
        MessageBox.Show(tr.Text);

GetLineStartPosition(0)返回一個TextPointer對象,其位置在當前行的開頭。 GetLineStartPosition(1)返回一個TextPointer對象,其位置在下一行的開始處。

如果插入符號位於最后一行,則caretPos.GetLineStartPosition(1)將返回null。 您可以使用caretPos.DocumentEnd修復此caretPos.DocumentEnd


如果您使用的是WinForms

        string[] lines = rtb.Lines;
        MessageBox.Show(lines[rtb.GetLineFromCharIndex(rtb.SelectionStart)]);

rtb.GetLineFromCharIndex(rtb.SelectionStart)方法返回插入標記所在的行號。

從.NET Framework 3.0版開始,肯定可以使用RichTextBox.CaretPosition屬性。

暫無
暫無

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

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