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。