Mouse.GetPosition(IInputElement) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取鼠标相对于指定元素的位置。
public:
static System::Windows::Point GetPosition(System::Windows::IInputElement ^ relativeTo);
public static System.Windows.Point GetPosition(System.Windows.IInputElement relativeTo);
static member GetPosition : System.Windows.IInputElement -> System.Windows.Point
Public Shared Function GetPosition (relativeTo As IInputElement) As Point
参数
- relativeTo
- IInputElement
要在其中计算鼠标位置的坐标空间。
返回
鼠标相对于参数 relativeTo的位置。
示例
下面的示例演示如何用于 GetPosition 确定鼠标指针的位置。 鼠标指针的位置存储在结构 Point 中。 对象的 X 和 Y 值 Point 显示在一个 TextBox.
// displayArea is a StackPanel and txtBoxMousePosition is
// a TextBox used to display the position of the mouse pointer.
Point position = Mouse.GetPosition(displayArea);
txtBoxMousePosition.Text = "X: " + position.X +
"\n" +
"Y: " + position.Y;
' displayArea is a StackPanel and txtBoxMousePosition is
' a TextBox used to display the position of the mouse pointer.
Dim position As Point = Mouse.GetPosition(displayArea)
txtBoxMousePosition.Text = "X: " & position.X & vbLf & "Y: " & position.Y
注解
鼠标指针的位置相对于指定元素进行计算,其中元素左上角为原点 0,0。
在拖放操作期间,无法可靠地确定 GetPosition鼠标的位置。 这是因为鼠标(可能包括捕获)的控制由拖动的发起元素保留,直到拖放完成,大部分行为由基础 Win32 调用控制。 请改用以下方法:
GetPosition DragEventArgs调用传递给拖动事件的方法(DragEnter、、DragOverDragLeave)。
使用 P/Invoke 调用 GetCursorPos。