Autor Beitrag
Felix2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 124



BeitragVerfasst: Di 23.08.11 15:59 
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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19

WinXP
C# (VS 2008)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 397
Erhaltene Danke: 7

WIN 7
C#
BeitragVerfasst: Di 23.08.11 19:35 
Das müsste ich glaube ich mal gesehen haben!

_________________
Der Pc ist nur so schlau, wie derjenige der in steuert!
"Don't Quit. Suffer now, and live the rest of your life as a champion"
Christoph1972
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: 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.

_________________
Gruß
Christoph
Felix2000 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 124



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 114
Erhaltene Danke: 3



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 25
Erhaltene Danke: 1

XP, Win7
C#, html, bbc
BeitragVerfasst: Mi 24.08.11 13:54 
soll es sowas werden?

rocketdock.com/