私はKinectのジェスチャーで私のマウスを交換するつもりですが、私はWPFのためmousepositionを設定する方法を見つけることができませんアプリ。事前に
おかげ
トム
私はKinectのジェスチャーで私のマウスを交換するつもりですが、私はWPFのためmousepositionを設定する方法を見つけることができませんアプリ。事前に
おかげ
トム
あなたはこのためSystem.Windows.Forms
で見つかったCursor.Position
プロパティを使用することができます。 MSDN documentation for Cursor.Position
に実証されているように
:あなたがWindowsフォームのこの外側を行うために探している場合は
private void MoveCursor()
{
// Set the Current cursor, move the cursor's Position,
// and set its clipping rectangle to the form.
this.Cursor = new Cursor(Cursor.Current.Handle);
Cursor.Position = new Point(Cursor.Position.X - 50, Cursor.Position.Y - 50);
Cursor.Clip = new Rectangle(this.Location, this.Size);
}
、あなたはがUser32のSetCursorPos上のプラットフォーム呼び出しを行うことができます。
.NET BCLを使用することはできません。しかし、あなたが本当にそれを望むなら、ネイティブSetCursorPos
をUser32.dll
に使うことができます。他の人が最も可能性が高いと指摘れるようにWPFアプリケーションを開発する場合、あなたはしかし、System.Windows.Forms
を使用して同じことを達成することができます
[DllImport("User32.dll")]
private static extern bool SetCursorPos(int x, int y);
は使用DllImport
を好みます。
アプリケーションでのKinectセンサーを使用しようとしている場合のように、私は個人的に、システムのマウスを上書きしようとするよりも、カスタムWPFコントロールを記述します。あなたは、ユーザーの意図を示すについて慎重に検討する必要が
今年の初めに行ったX360 Kinectカンファレンスでは、ほとんどの半分がユーザーの操作を管理することに専念していました。これは、ポイントアンドクリックの簡単な操作とは異なります。
興味があれば、Kinectカンファレンスのスライドをアップロード/ Eメールで送信できます。彼らは良い読書です。
そこには良いアイデアがありますが、通常WPFアプリは可能な限りSystem.Windows.Formsから離れるべきです。 – Xcalibur37
それ以上の研究をしてみました。あなたは正しいです。あなたが提案した2つの方法以外のやり方は、より優雅なやり方があるようには見えません。あなたのために+1してください。 – Xcalibur37
WinFormsとWPFを混在させたり、名前空間を混ぜたりしないように、これをラップすることをお勧めします。 – Krythic