我有一个使用Scintilla的简单VB.NET应用程序。我不知道如何在添加文本时自动滚动控件。
有人可以帮忙吗?
由于
答案 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);