开发者

How to know whether the user is scrolling the datagridview

I wish to know w开发者_开发问答hether a user is scrolling the DataGridView.

While the user is scrolling the DataGridView I wish to suspend a running thread and resume this thread as soon as the user stops scrolling.

Any help will be deeply appreciated from heart.

Thanks a lot :)

Update :

For my work regarding this,code is here :- Updating DataGridView via a thread when scrolling


Please see here, this is an example using a ListView but it can easily be adapted to a DataGridView.

ListView onScroll event


public class DataGridViewEx : DataGridView
    {
        private const int WM_HSCROLL = 0x0114;
        private const int WM_VSCROLL = 0x0115;
        private const int WM_MOUSEWHEEL = 0x020A;

        public event ScrollEventHandler ScrollEvent;
        const int SB_HORZ = 0;
        const int SB_VERT = 1;
        public int ScrollValue;
        [DllImport("User32.dll")]
        static extern int GetScrollPos(IntPtr hWnd, int nBar);
        protected override void WndProc(ref Message m)
        {
            base.WndProc(ref m);
            if (m.Msg == WM_VSCROLL ||
                m.Msg == WM_MOUSEWHEEL)
                if (ScrollEvent != null)
                {
                    this.ScrollValue = GetScrollPos(Handle, SB_VERT);
                    ScrollEventArgs e = new ScrollEventArgs(ScrollEventType.ThumbTrack, ScrollValue);
                    this.ScrollEvent(this, e);
                }            
        }
    }

Add your suspend code to Handler of the ScrollEvent event

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜