C#中用鼠标移动页面功能的实现(2)

来源:互联网 责任编辑:栏目编辑 发表时间:2013-07-02 03:36 点击:

GetScrollRange:获取指定滚动条的滚动按钮的位置最大最小值

PostMessage:这个函数是关键中的关键,它负责向Windows控件发送相应的消息,以真正执行相应的操作。一些网友实现了滚动条中滑块位置的移动,但却没有引起控件中内容的移动,其原因就是因为没有调用这个函数,没有把移动内容的消息发送给控件。

SB_HORZ :代表水平滚动条

SB_VERT :代表垂直滚动条

WM_HSCROLL :代表水平滚动事件

WM_VSCROLL :代表垂直滚动事件

SB_THUMBPOSITION :至于这个常量,其含义我也不是很清楚,有知道的朋友欢迎回复给我。

好了,准备工作做好了,就可以开工了。

先声明几个变量:
       bool Preview_move = false;//是否按下鼠标,表示处理移动状态。
       Point MoveStart;//移动开始时,鼠标的坐标点
       Point MoveEnd;//移动过程中鼠标的坐标点

在控件的MouseDown事件中,当鼠标按下时开始移动页面,并记下起始坐标点:
       private void previewer_MouseDown(object sender, MouseEventArgs e)
       {
           Preview_move = true;
           MoveStart = e.Location;
       }

在控件的MouseUp事件中,记得当鼠标放开后要置回非移动状态:

       private void previewer_MouseUp(object sender, MouseEventArgs e)
       {
  &

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 用C#制作屏幕捕获程序
  • .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上
  • 遍历ArrayList易犯错误
  • C#对XML操作:一个处理XML文件的类(1)
  • .NET简谈反射(动态调用)
  • 使用C#编写LED样式时钟控件
  • DataList嵌套问题 如何删除内层子DataList的记录
  • 怎样用C#实现完整文档打印功能
  • .NET简谈自定义事务资源管理器
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1