关于鼠标相对位置的问题

chenmozhijin 2014-09-05 02:56:13
我的应用程序中有一个picturebox控件名称为p1,然后点击一个按钮会在p1这个控件内动态创建一个picturebox名称为p2
我想实现这么两个功能:
1、我在p1这个控件内点击任何一个位置,让p2就跳到这个指定位置上去
2、我在p1的范围内拖动p2,鼠标放掉的时候,p2在我鼠标放掉的这个点显示

PS:我不知道怎么获取鼠标在picturebox控件的区域内,相对于picturebox控件的相对坐标

谢谢

分数不够可以加
...全文
276 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
失落的神庙 2014-09-05
  • 打赏
  • 举报
回复
最好是 mouse hover
失落的神庙 2014-09-05
  • 打赏
  • 举报
回复
引用 6 楼 Z65443344 的回复:
[quote=引用 5 楼 chenmozhijin 的回复:] 另外我想问下picturebox怎么实现hint功能啊?就是在鼠标移动到控件上的时候在控件上会有一个浮动的文字显示,移开或者过一段时间这个文字就消失了,再次移上去又有显示。
MouseEnter事件里,显示个ToolTip[/quote]+1
於黾 2014-09-05
  • 打赏
  • 举报
回复
引用 5 楼 chenmozhijin 的回复:
另外我想问下picturebox怎么实现hint功能啊?就是在鼠标移动到控件上的时候在控件上会有一个浮动的文字显示,移开或者过一段时间这个文字就消失了,再次移上去又有显示。
MouseEnter事件里,显示个ToolTip
chenmozhijin 2014-09-05
  • 打赏
  • 举报
回复
另外我想问下picturebox怎么实现hint功能啊?就是在鼠标移动到控件上的时候在控件上会有一个浮动的文字显示,移开或者过一段时间这个文字就消失了,再次移上去又有显示。
失落的神庙 2014-09-05
  • 打赏
  • 举报
回复
有种简单点的方法。 获取这个控件的句柄 然后用系统api获取相对屏幕的坐标 其它的控件也可以 这样就很容易就计算出相对坐标了
於黾 2014-09-05
  • 打赏
  • 举报
回复
1.用MouseDown事件,获取e.x和e.y,就是鼠标坐标 然后执行p2.Loacation=new Point(e.x,e.y); 就行了啊 2.看2楼 使用DoDrag()方法
Forty2 2014-09-05
  • 打赏
  • 举报
回复
嫌麻烦的话可以先转成屏幕坐标(类似绝对坐标)。 Control.PointToScreen Control.PointToClient

void xxxx_MouseMove(object sender, MouseEventArgs e)
{
    Point screen = (sender as Control).PointToScreen(e.Location);
    Point pointInP1 = pictureBox1.PointToClient(screen);
}

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧