特定のコントロール内では機能しますが、特定のコントロールでは機能しません。
マウスの位置を取得し、画面から直接 (プラットフォーム呼び出しなしで) コントロールとは独立してマウス イベントを使用する方法は?
2 必要なポイント:
- マウスがコントロール内ではなく画面上にある場合のマウス イベント。
- マウスがコントロール内ではなく画面上にある場合のマウスの位置。
Platform Invoke を使用せずに解決する必要があります。
次の 2 つは機能しません。
System.Windows.Input.Mouse.GetPosition(this)
特定のコントロールからマウスの位置を取得しません。
System.Windows.Forms.Cursor.Position.X
System.Windows.Forms.Cursor.Position
WPF アプリには型がないため機能しませんが、Windows フォーム アプリでは機能します。
IntelliSense は System.Windows.Forms.Cursor.Position を取得しますが、どのタイプの位置も取得しないため、取得できません:
Position.X
Position.Y
と
Point pointToWindow = Mouse.GetPosition(this);
Point pointToScreen = PointToScreen(pointToWindow);
特定のコントロールからマウスの位置を取得しません。