如何在gtk#中的TextView中获取光标下的文本行?

时间:2012-07-28 20:38:50

标签: gtk#

我有一个GTK#TextView,我想阅读光标下的文本行。我没有看到一个方法可以做到这一点,所以我认为我需要结合几个方法调用,如Buffer.GetTextBuffer.GetIterAtOffsetBuffer.CursorPosition,但对我来说不是很明显正确的组合是。

1 个答案:

答案 0 :(得分:0)

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.