16

特定のコントロール内では機能しますが、特定のコントロールでは機能しません。

マウスの位置を取得し、画面から直接 (プラットフォーム呼び出しなしで) コントロールとは独立してマウス イベントを使用する方法は?

2 必要なポイント:

  1. マウスがコントロール内ではなく画面上にある場合のマウス イベント。
  2. マウスがコントロール内ではなく画面上にある場合のマウスの位置。

Platform Invoke を使用せずに解決する必要があります。

次の 2 つは機能しません。

System.Windows.Input.Mouse.GetPosition(this)

特定のコントロールからマウスの位置を取得しません。

System.Windows.Forms.Cursor.Position.X

System.Windows.Forms.Cursor.PositionWPF アプリには型がないため機能しませんが、Windows フォーム アプリでは機能します。

IntelliSense は System.Windows.Forms.Cursor.Position を取得しますが、どのタイプの位置も取得しないため、取得できません:

Position.X    
Position.Y

Point pointToWindow = Mouse.GetPosition(this);

Point pointToScreen = PointToScreen(pointToWindow);

特定のコントロールからマウスの位置を取得しません。

4

4 に答える 4