[WinForms] - Multi-Touch unter Win7
-
Hallo,
ich habe eine WindowsForm Anwendung in C# erstellt. Nun würde ich diese auch gerne über ein Touchpad bedienen können.
Dafür sollte ich eigentlich nur alle MouseUps und MouseDowns in passende TouchUps und TouchDowns ändern müssen. Rechtsklick und Mousewheel müsste ich auch irgendwie anpassen... Leider war meine Suche in Google nicht sehr erfolgreich bzw haben mich die Ergebnisse nicht schlauer gemacht
Wisst ihr, wie ich meine WinForms-Anwendung möglichst einfach erweitern kann? Über ein Tutorial würde ich mich auch freuen.
Gruß, Balder
-
Gast_Balder schrieb:
Dafür sollte ich eigentlich nur alle MouseUps und MouseDowns in passende TouchUps und TouchDowns ändern müssen.
So einfach ist das eher nicht (z.B. längerer Druck => RMT; Ziehen erfolgt auch mit Touch...).
Gast_Balder schrieb:
Wisst ihr, wie ich meine WinForms-Anwendung möglichst einfach erweitern kann?
Normalerweise ist es mehr als nur die Unterstützung von Events, um Touchbedienung sinnvoll unterstützen zu können. So müssen Elemente ggf. bestimmte Mindestgrößen mit sich bringen, Gestiken unterstützt werden...
Für WinForms kenne ich persönlich aber kein Framework, erst WPF/Silverlight/WinRT bringt dafür einiges mit (Es gibt auch Bücher zu den Thema, aber wie gesagt eher nicht für WinForms).
-
Hmm... ok. Kannst du mir sagen, welche Touchereignisse ich abfangen kann? Ich habe Begriffe wie TouchUp/Down gelesen, doch nicht im Zusammenhand mit WinForms.
Welche Events gibt es dort und in welchem Namespace kann ich die finden?
-
Schau dich mal hier um:
msdn: Windows Touch Samples
msdn: Touch Input
-
Danke für die Links.
Ich habe das Programm mal auf einem Touch-PC ausprobiert. Wie es aussieht, nimmt mir Windows die ganze Arbeit mit den neuen Events ab.
Wie asc gesagt hat, ist ein langes Drücken ein Rechtsklick und wird als dieser schon erkannt. Kurzes Drücken triggert den Linksklick-Event und sogar das Ziehen mit zwei Fingern wird als Mausscroll erkannt.
Somit hat mir Windows das Umgestalten schon abgenommen.
Ich danke trotzdem für eure Antworten.