获得控件的屏幕坐标

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获得控件的屏幕坐标相关的知识,希望对你有一定的参考价值。

原文:获得控件的屏幕坐标

??

?在WPF控件(TreeviewControl)中弹出一个菜单,菜单的位置需要定位到鼠标点击的位置,

开始时使用了MouseButtonEventArgs的GetPosition方法,

private static void Border_MouseLeftButtonDown ( object sender, MouseButtonEventArgs e )

利用鼠标键触发的方法中处理sender和e中的各种 FrameworkElement 获得鼠标相对位置,

再加上控件本身的位置,但总是不能正确弹出菜单的位置,没办法到网上查资料,最后尝试了这一句,没想到这么简单

System.Drawing.Point p = System.Windows.Forms.Control.MousePosition;就直接定位到了鼠标的位置上了,大概的原理是

System.Windows.Forms.Control.MousePosition能够找到活动的窗体的相对坐标吧,不管怎样,调试过了,能在正确位置弹菜单了。



以上是关于获得控件的屏幕坐标的主要内容,如果未能解决你的问题,请参考以下文章

Winform中控件,鼠标坐标位置计算

c#window窗体应用程序中一个控件,如果鼠标点击控件,怎么获得此时鼠标点击处的屏幕坐标

Unity UGUI怎么样获得UI在屏幕上的位置坐标

MFC树形控件的使用(右键点击)

怎样获取一个控件相对于父窗口的坐标位置

在ImageView中怎样实现点击屏幕获得坐标后并定位标注