2015-06-20 74 views
0

这可能是一个不问问题的问题,但希望有人有答案。我只是想把文本追加到textview的末尾(在这种情况下是'log'),下面的代码可以工作;Textview缓冲区插入警告

log.Buffer.Insert (log.Buffer.EndIter, "\n TCPserver>>Simple Constructor"); 

但我得到一个警告,我会爱,摆脱,因为我在很多不同的地方这样做;

Warning CS0618: 'Gtk.TextBuffer.Insert(Gtk.TextIter, string)' is obsolete: 'Replaced by 'ref TextIter iter' overload' (CS0618) (bubbles) 

回答

1

您所要做的就是为TextIter创建一个局部变量,然后将Insert函数传递给该函数。下面是一个代码片段,应该工作,我做我的一个项目非常类似:

var tb = log.Buffer; 
var ti = tb.GetIterAtLine (tb.LineCount); 
tb.Insert (ref ti, "TCPserver>>Simple Constructor\n"); 

我也试过这个代码用在字符串的开始换行,但是这并没有为我工作。

编辑:

var ti = log.Buffer.EndIter; 
log.Buffer.Insert (ref ti, "\n TCPserver>>Simple Constructor"); 

是有点清洁,放置换行符在字符串也工作的开始。

+0

真棒,谢谢你,帮助很多。 – Marky