抓住文本框滚动事件?

pre*_*per 10 c# events controls scrollbar winforms

文本框或richtextbox,我想要的只是在滚动条移动时触发一个函数.

我已经找到了GetScrollPos和SetScrollPos.我想过定期检查滚动条位置,但必须有更好的方法.那么,更好的方法是什么?

更新:使用WinForms

Lar*_*ech 9

假设WinForms,您可以尝试进行消除:

public class MyRTF: RichTextBox {

  private const int WM_HSCROLL = 0x114;
  private const int WM_VSCROLL = 0x115;
  private const int WM_MOUSEWHEEL = 0x20A;

  protected override void WndProc(ref Message m) {
    base.WndProc(ref m);

    if (m.Msg == WM_VSCROLL || m.Msg == WM_HSCROLL || m.Msg == WM_MOUSEWHEEL) {
      // scrolling...
    }
  }

}
Run Code Online (Sandbox Code Playgroud)