shangxijie

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在compact framework 中 滚动条是没有mouseup事件的,可以用定时器的方法来模拟这个事件.

代码如下:

private System.Threading.Timer vscrollbarTimer;

   vscrollbarTimer = new System.Threading.Timer(new System.Threading.TimerCallback(this.changeVs), null, Timeout.Infinite, Timeout.Infinite);
       
private void changeVs(object state)
        {

          //模拟mouseup后的处理代码,可以自己填写
        }

 

 

 private void vScrollBar_ValueChanged(object sender, EventArgs e)
        {

            this.vscrollbarTimer.Change(Timeout.Infinite, Timeout.Infinite);//只要滚动条value变化就停止定时器
            this.vscrollbarTimer.Change(1500, Timeout.Infinite);//1.5s后执行changeVs,默认如果1.5s后执行changeVs,说明value不变,亦mouseup发生
        }

 

如果自己搞个自定义滚动条的话也可以,但是比较麻烦,哪位可以给个自定义滚动条的实例,其中有mouseup事件.

posted on 2008-09-10 10:56  尚希杰  阅读(272)  评论(0编辑  收藏  举报