How make autoscroll in Scintilla?

后端 未结 2 1422
挽巷
挽巷 2021-01-23 17:42

I have a simple VB.NET application using Scintilla. I don`t know how can I make the control auto scroll when text is added to it.

Can anyone help?

Thanks

相关标签:
2条回答
  • 2021-01-23 18:12

    Done.

    Scintilla can auto-scroll by calling:

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

    so it scrolls to the last text line.

    0 讨论(0)
  • 2021-01-23 18:37

    The accepted solution didn't work for me when trying to make a ScintillaNET editor control scroll to the bottom line after updating the Text property. Perhaps it's because I am embedding it in a WPF WindowsFormsHost. In any event, here is the code I used to make the ScintillaNET editor control auto-scroll in my context. (Note, the code is in 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);
    
    0 讨论(0)
提交回复
热议问题