Mouse.GetPosition(IInputElement) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает позицию указателя мыши относительно заданного элемента.
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 структуре. Значения XPoint и Y объекта отображаются в 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, , DragOver). DragLeave
Вызовите GetCursorPos с помощью P/Invoke.