Entwickler-Ecke

WinForms - Ist mein Vorhaben überhaupt programmierbar?


Felix2000 - Di 23.08.11 15:59
Titel: Ist mein Vorhaben überhaupt programmierbar?
Hi Folks !

Mir schwebt eine Idee für die Gestaltung einer meiner Benutzeroberflächen vor. Ich möchte erreichen, dass wenn der Benutzer über einen ganz bestimmten Bereich mit seinem Mauszeiger fährt, dass dann langsam eine Art Toolbar oder anderes Formular schichtbar wird und langsam ein Stück auf die Benutzeroberfläche geschoben wird.

Diese Toolbar oder Formular soll sofort wieder verschwinden, wenn der Benutzer sich mit dem mauszeiger nciht mehr in dem Bereich befindet. In dieser Toolbar möchte ich ein paar Dinge zur Auswahl meines Programms anbieten.

Windows Präsentation Foundation werde ich wohl in meinem Projekt nicht mehr nutzen können, da bisher alles auf den älteren Windows Forms basiert.

Ist ein solches Vorhaben mit WindowsForms möglich?

Greetz
Felix


jasocul - Di 23.08.11 16:07

Alles was du sauber beschreiben kannst, ist im Grunde auch programmierbar.
Wieviel Aufwand dahinter steckt, ist eine andere Frage und hängt auch von den eigenen Kenntnissen ab.

Ich halte deine Anforderung für relativ einfach. Zumindest, wenn ich alles richtig verstanden habe.


Betasteter - Di 23.08.11 16:13

Hallo,

habe ansatzweise so etwas ähnliches mal gemacht.

Eine Textbox hat beim Klick darauf ein anderes Formular direkt daneben (Form.TopMost = true) sichtbar gemacht und beim Verlieren des Focus wieder versteckt.

Das Formular bei MouseEnter() anzuzeigen und dabei langsam zu bewegen müsste möglich sein, bin mir aber nicht sicher wie schön die Bewegung dann aussehen wird.

Allerdings ist der Weg über ein neues Formular performancemäßig nicht der Beste.


storestore - Di 23.08.11 19:35

Das müsste ich glaube ich mal gesehen haben!


Christoph1972 - Di 23.08.11 23:45

user profile iconBetasteter hat folgendes geschrieben Zum zitierten Posting springen:

Das Formular bei MouseEnter() anzuzeigen und dabei langsam zu bewegen müsste möglich sein, bin mir aber nicht sicher wie schön die Bewegung dann aussehen wird.



Wenn zu dem Zeitpunkt nichts anderes passiert sieht es sehr gut aus. Du kannst wenn das MouseEnter von einem Control ausgelöst wird einfach mit einer Schleife z.B. die Width Eigenschaft hochzählen, beim Leave halt wieder rückwärts.

Blöd bei solchen spielereien ist halt oft das Passende Event zuwählen, oft muss man auch verschiedene abbonieren. Da sind die RoutedEvents bei WPF besser.


Felix2000 - Mi 24.08.11 09:49

Hi Folks !

Wie genau kann ich denn einen solchen Bereich auf einem bereits vorhandenen Formular definieren, dass diese Box / Formular einblendet, wenn der benutzer mit seinem Mauscursor darüberfährt und wieder verschwindet, wenn er mit dem Cursor diesen Bereich wieder verlässt?

Gibt es dafür evtl. ein unsichtbares Steuerelement aus der Toolbox, was für mein Vorhaben halbwegs passen könnte?

Greetz
Felix


lothi - Mi 24.08.11 11:58

Hallo

Jedes sichtbare Steuerelement hat Maus-Ereignisse, welche die X,Y-Koordinatetn der Mausposition zurückgeben. So kannst du genau dein Form, Panel oder das was du willst an deinem Ort Anzeigen lassen.

Erstell doch ein Beispielprojekt und Probier es aus.

Gruss Lothi


KingQuantum - Mi 24.08.11 13:54

soll es sowas werden?

http://rocketdock.com/