如何在Scintilla中进行自动滚动?

时间:2010-05-24 17:03:56

标签: scroll scintilla

我有一个使用Scintilla的简单VB.NET应用程序。我不知道如何在添加文本时自动滚动控件。

有人可以帮忙吗?

由于

2 个答案:

答案 0 :(得分:1)

完成。

Scintilla可以通过调用来自动滚动:

Scintilla1.Scrolling.ScrollBy(0, Scintilla1.Lines.Count)

所以它滚动到最后一个文本行。

答案 1 :(得分:0)

在更新Text属性后尝试使ScintillaNET编辑器控件滚动到底线时,已接受的解决方案对我没有用。也许是因为我将它嵌入到WPF WindowsFormsHost中。无论如何,这里是我用来使ScintillaNET编辑器控制在我的上下文中自动滚动的代码。 (注意,代码在C#中):

// Declaration for the WinAPI SendMessage() method.
[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd, uint wMsg, UIntPtr wParam, IntPtr lParam);

/// WM_VSCROLL -> 0x0115
public const int WM_VSCROLL = 277;

/// SB_BOTTOM -> 7
public const int SB_BOTTOM = 7;

// scintillaCtl should be a reference to the Scintilla control you want to scroll vertically.
SendMessage(scintillaCtl.Handle, WM_VSCROLL, new UIntPtr(SB_BOTTOM), IntPtr.Zero);