首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得mouseClick的x和y坐标

如何获得mouseClick的x和y坐标
EN

Stack Overflow用户
提问于 2016-11-26 09:18:58
回答 1查看 112关注 0票数 0

我正在努力实现在mouseClick位置中央画一个矩形。为此,我觉得我需要得到x和y坐标作为int。

(这是编辑的代码,e.Xe.Y是解决这个问题的方法)

代码语言:javascript
复制
  let mouseClick (e: MouseEventArgs) =
  let  x = e.X
  let  y = e.Y
  let coords = [|System.Drawing.Point((x-10),(y-10));
                 System.Drawing.Point((x-10),(y+10));
                 System.Drawing.Point((x+10),(y+10));
                 System.Drawing.Point((x+10),(y-10));
                 System.Drawing.Point((x-10),(y-10))|]
  window.Paint.Add(fun e -> e.Graphics.DrawLines(pen, coords ))

window.MouseClick.Add mouseClick

我尝试使用无法工作的e.Location属性,这在某种程度上是有意义的,因为当我打印它时,它会打印“x=(某些数字)y=(某些数字)”。

有人能帮我得到x和y坐标作为int吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-26 11:08:48

如注释中所述,要从MouseEventArgs获取鼠标位置,只需访问它的XY属性

,它只反映了Location.XLocation.Y属性,这些属性也可在e上使用。

关于您的编辑和您的附加注释,我认为您通过每次单击添加一个新的Paint处理程序做了一些错误,您只需要绘制(不过,在某个时候可能仍然需要一个Refresh )。

代码语言:javascript
复制
let mouseClick (e: MouseEventArgs) =
  let  x = e.X
  let  y = e.Y
  let coords = [| System.Drawing.Point(x - 10, y - 10)
                  System.Drawing.Point(x - 10, y + 10)
                  System.Drawing.Point(x + 10, y + 10)
                  System.Drawing.Point(x + 10, y - 10)
                  System.Drawing.Point(x - 10, y - 10) |]

  // maybe use instead of let ?
  let g = window.CreateGraphics()
  g.Graphics.DrawLines(pen, coords)

window.MouseClick.Add mouseClick
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40816788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档