PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C# - Form mit Klick auf Grouppanel verschieben?


Mr. Lolman
2008-05-15, 10:29:49
Wie geht denn das am Besten?

EDIT: Ich meine, dass sich die Form mittels Klick in Grouppanel genauso verschieben lassen können soll, wie mittels Klick auf die Titelleiste.

Gast
2008-05-15, 10:33:33
Indem du die X/Y Koordinaten der Location Eigenschaft änderst?!

Mr. Lolman
2008-05-15, 10:42:47
Indem du die X/Y Koordinaten der Location Eigenschaft änderst?!

Hä? Müsst ich das ausprogrammieren? Ich dachte das ginge über irgendeine Eigenschaft.

Monger
2008-05-15, 10:48:15
Nur damit wir uns nicht mißverstehen: meinst du einen Klick, oder Drag & Drop?

Mr. Lolman
2008-05-15, 12:04:27
Nur damit wir uns nicht mißverstehen: meinst du einen Klick, oder Drag & Drop?

Ich möchte, dass ein Klick auf ein Grouppanel genau den gleichen Effekt hat, wie ein Klick auf die Titelleiste einer Form. Eben dass man zB mit Mousedown aufs Panel die gesamte Form verschieben kann.

Gast
2008-05-15, 12:29:40
Die Form hat eine Eigenschaft Location. Dort setzt du dann eben X/Y Koordinaten neu. In deinem Fall musst du eben beim MouseDown ein MouseMove Event abbonieren und im MouseMove Event dann eben über die Mauskoordinaten die Form Koordinaten errechnen und dann der Location Eigenschaft der Form zuweisen.

Gast
2008-05-15, 12:33:59
^^ Ach, ich glaube das bekommst du nur über ein global Mouse Hook hin, weil MouseMove AFAIK nur innerhalb einer Form geworfen wird. In deinem Fall müsstest du ja die Form aber erst nachträglich zum Cursor hinziehen.

Monger
2008-05-15, 14:45:30
Da bin ich jetzt leider echt überfragt. Logisch wäre es, im Event Handler aller Maus Funktionen das passende Event der Titelleiste zu raisen. Nur: die sind wohl offenbar nicht öffentlich. Möglicherweise ist das sogar Funktionalität die aus den gemanagten Bibliotheken rausführt, weil das Fenster an sich nunmal Windows zur Verfügung stellt.

Sorry, bei so speziellen Fragen würde ich dir empfehlen, es doch mal direkt in den Technet Foren zu probieren. Und natürlich kannst du die Funktionalität einfach nachimplementieren, aber das war ja nicht Sinn der Sache, nicht wahr? ;)