首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

winform能不能实现按android或者iphone手机那样的主界面滑动效果呢解决办法

2012-02-12 
winform能不能实现按android或者iphone手机那样的主界面滑动效果呢如题! 可以的话谁给个例子我谢谢了哈!本

winform能不能实现按android或者iphone手机那样的主界面滑动效果呢
如题! 可以的话谁给个例子我谢谢了哈 ! 本人邮箱 hanwu5728@126.com

我现在想做一个分页的效果触摸(手指滑动方向)就实现上 、下页的显示!

[解决办法]
这个主要就是查看鼠标的动作了,使用API BOOL GetCursorPos(
LPPOINT lpPoint // address of structure for cursor position
);
分别记录按下时候鼠标的坐标,和移动的时候的坐标,松开鼠标的时候计算这两个坐标的差值,你就知道应该往前一页还是往后一页。
[解决办法]
直接处理MouseDown,MouseUp,MouseMove就可以了。
[解决办法]
楼上的 都看懂了 他说的是手指滑动方向 跟MouseDown有毛关系

这个貌似需要算法 不管你会不会 反正我不会
[解决办法]

C# code
namespace WindowsFormsApplication1{    public struct CPoint    {        public int x;        public int y;    }    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        int Pages = 10;        CPoint pStart,pEnd;        int IgnoreX = 5;//当鼠标X方向移动位置小于这个值的时候,表示没有滚动        int IgnoreY = 5;//当鼠标Y方向移动位置小于这个值的时候,表示没有滚动        private void Form1_MouseDown(object sender, MouseEventArgs e)        {            pStart.x = e.X;            pStart.y = e.Y;        }        private void Form1_MouseUp(object sender, MouseEventArgs e)        {            pEnd.x = e.X;            pEnd.y = e.Y;            int MoveX = System.Math.Abs(pEnd.x - pStart.x);            int MoveY = System.Math.Abs(pEnd.y - pStart.y);            if ((pEnd.x < pStart.x) && (MoveX > IgnoreX))//向左滚动,表示下一页            {                Pages++;                if (Pages> 10) Pages = 0;                string strMsg = string.Format("当前低{0}页",Pages);                MessageBox.Show(strMsg);                return;            }            else            {                Pages--;                if (Pages < 0) Pages = 10;                string strMsg = string.Format("当前低{0}页", Pages);                MessageBox.Show(strMsg);                return;            }                               if((pEnd.y > pStart.y) && (MoveY >IgnoreY))//向下滚动,上一页            {                Pages--;                if (Pages < 0) Pages = 10;                string strMsg = string.Format("当前低{0}页", Pages);                MessageBox.Show(strMsg);                return;            }else            {                Pages++;                if (Pages > 10) Pages = 0;                string strMsg = string.Format("当前低{0}页", Pages);                MessageBox.Show(strMsg);                return;            }         }    }}
[解决办法]
很简单

[解决办法]
我也不会,学习
[解决办法]
来看看头像

热点排行