テキストボックスまたはリッチテキストボックス、私が欲しいのは、スクロールバーが移動したときに関数をトリガーすることだけです。
GetScrollPos と SetScrollPos は既に見つかりました。スクロールバーの位置を定期的にチェックすることを考えましたが、もっと良い方法があるはずです。それで、より良い方法は何ですか?
更新: WinForms の使用
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...
}
}
}
さらに良い - 非表示のMouseWheel
イベント: https://stackoverflow.com/a/26672097/1037948
public Form1()
{
InitializeComponent();
textBox1.MouseWheel += textBox1_MouseWheel;
}
void textBox1_MouseWheel(object sender, MouseEventArgs e)
{
throw new NotImplementedException();
}