WinForm IPHONE
场景:winform能不能实现按android或者iphone手机那样的主界面滑动效果呢解决办法
winform能不能实现按android或者iphone手机那样的主界面滑动效果呢
如题! 可以的话谁给个例子我谢谢了哈 ! 本人邮箱 hanwu5728@126.com
我现在想做一个分页的效果触摸(手指滑动方向)就实现上 、下页的显示!
------解决方案--------------------
这个主要就是查看鼠标的动作了,使用API BOOL GetCursorPos(
LPPOINT lpPoint // address of structure for cursor position
);
分别记录按下时候鼠标的坐标,和移动的时候的坐标,松开鼠标的时候计算这两个坐标的差值,你就知道应该往前一页还是往后一页。
------解决方案--------------------
直接处理MouseDown,MouseUp,MouseMove就可以了。
------解决方案--------------------
楼上的 都看懂了 他说的是手指滑动方向 跟MouseDown有毛关系
这个貌似需要算法 不管你会不会 反正我不会
------解决方案--------------------
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; } } } }
------解决方案--------------------
很简单
------解决方案--------------------
我也不会,学习
------解决方案--------------------
来看看头像