我在我的C# Winforms应用程序中使用ScintillaNET控件。 我尝试实现一个自动标签功能,它将在用户输入例如<html>
时,自动完成标签并插入</html>
。
我正在使用ScintillaNET CharAdded
函数进行此实现:
if (caretPos != 0)
{
//If the characters before the caret are "ml>" (last three chars from "<html>")
if (TextArea.Text[caretPos - 1] == '>' && TextArea.Text[caretPos - 2] == 'l' && TextArea.Text[caretPos - 3] == 'm')
{
TextArea.Text = TextArea.Text.Insert(caretPos, "</html>");
TextArea.SelectionStart = caretPos + 0;
TextArea.Selections.First();
TextArea.ScrollCaret();
}
}
问题
我的问题是,Scintilla控件一直向上或向下滚动。我认为使用ScrollCaret()
函数可以解决它,但它仍然持续发生。有什么想法吗?