1
我有一個GTK#TextView,我想要讀取光標下的行文本。我沒有看到一種方法可以做到這一點,所以我認爲我需要結合幾種方法調用,例如Buffer.GetText
,Buffer.GetIterAtOffset
,Buffer.CursorPosition
,但對我而言,正確的組合並不明顯。如何獲取gtk#中TextView中光標下的文本行?
我有一個GTK#TextView,我想要讀取光標下的行文本。我沒有看到一種方法可以做到這一點,所以我認爲我需要結合幾種方法調用,例如Buffer.GetText
,Buffer.GetIterAtOffset
,Buffer.CursorPosition
,但對我而言,正確的組合並不明顯。如何獲取gtk#中TextView中光標下的文本行?
TextIter有點奇怪使用。 Buffer.CursorPosition爲您提供當前位置。
可以很容易地找到行的末尾:
var end = Buffer.CursorPosition;
end.ForwardToLineEnd();
要得到第一個字符,有沒有對稱的方法,所以你可以嘗試:
var start = Buffer.CursorPosition;
start.BackwardChars(start.LineOffset); // LineOffset gives you the iter offset on the current line.
我已經找到一種替代方法來我的問題不依賴於這樣做,所以我找到答案不再重要。不過,對某人來說這可能很重要,所以我希望這能找到答案。 – 2012-07-29 06:29:06