小编Kir*_*web的帖子

如何防止 ScintillaNET 控件自动滚动?

我在我的 C# Winforms 应用程序中使用 ScintillaNET 控件。我正在尝试实现一个自动标记功能,该功能将在之前自动完成标记,例如,当用户键入时<html>,自动完成功能将触发并插入</html>

我正在CharAdded为此实现使用 ScintillaNET函数:

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();
            }
        }
Run Code Online (Sandbox Code Playgroud)

问题

我的问题是,Scintilla 控件一直向上或向下滚动。我认为该ScrollCaret()功能会起作用,但它一直在发生。有任何想法吗?

.net c# winforms scintillanet

7
推荐指数
1
解决办法
186
查看次数

如何在TextBox C#中创建Multi-Carets

我发现许多专业的文本编辑器,如Sublime Text和Synwrite,它具有Multi-Caret编辑器的功能.文本插入符实际上会插入编辑器内的不同行,因此您可以实际编辑相同类型代码的多行.所以不再需要复制粘贴了.

这是具有Multi Caret功能的Cuda Text编辑器的GIF图像.

那么有人可以帮助在C#中实现这一目标吗?

.net c# caret winforms

5
推荐指数
0
解决办法
151
查看次数

标签 统计

.net ×2

c# ×2

winforms ×2

caret ×1

scintillanet ×1