Mouse.GetPosition(IInputElement) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera położenie myszy względem określonego elementu.
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
Parametry
- relativeTo
- IInputElement
Współrzędna, w której ma być obliczana pozycja myszy.
Zwraca
Pozycja myszy względem parametru relativeTo
.
Przykłady
W poniższym przykładzie pokazano, jak użyć GetPosition polecenia w celu określenia położenia wskaźnika myszy. Położenie wskaźnika myszy jest przechowywane w Point strukturze. Wartości XPoint i Y obiektu są wyświetlane w obiekcie 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
Uwagi
Położenie wskaźnika myszy jest obliczane względem określonego elementu z lewym górnym rogu elementu będącego punktem pochodzenia, 0,0.
Podczas operacji przeciągania i upuszczania pozycja myszy nie może być niezawodnie określona za pomocą metody GetPosition. Wynika to z tego, że kontrola myszy (ewentualnie przechwytywania) jest utrzymywana przez element źródłowy przeciągania do momentu zakończenia upuszczania, z dużą częścią zachowania kontrolowanego przez bazowe wywołania Win32. Zamiast tego wypróbuj następujące podejścia:
Wywołaj metodę GetPositionDragEventArgs metody przekazywanej do zdarzeń przeciągania (DragEnter, DragOver, DragLeave).
Wywołaj metodę GetCursorPos przy użyciu metody P/Invoke.