Hey, ich wollte gerade mal versuchen, einen eigenen Formrand mit GDI+ zu zeichnen. Dafür habe ich den FormBorderStyle auf None gesetzt (logisch). Nun wollte ich diese Form aber trotzdem verschieben können, sowie ihre Größe ändern können. Dafür verwende ich folgenden Code: (Versteckter Text) Das funktioniert auch alles so wie gewollt. Nun besitzt so eine Form ohne Border aber auch kein Systemmenü (das Menü, dass sich bei Alt + Space oder bei Rechtsklick auf das Icon in der Taskleiste öffnet). Die…
Also ich hab mir die Liste natürlich schon mal angesehen. Mit WS_SIZEBOX kann man das Fenster zwar tatsächlich resizen, allerdings wird dann wieder ein schmaler Rahmen angezeigt, was ich ja gerade nicht möchte.
Ja, ich hab das auch erstmal genau ausprobiert. Das seltsame ist ja, dass scheinbar kein Zusammenhang zwischen dem Menü und den MouseEvents herrscht, weswegen ich da ratlos bin.
Ach, so meinst du das. Hatte da was missverstanden, Entschuldigung. Wenn es möglich ist, das ContextMenu auch anzuzeigen, wenn man auf das Taskbaricon rechtsklickt, dann hätte ich natürlich nichts dagegen.
So ich habe nun das Resizing komplett selber implementiert, mein Code sieht so aus: (Versteckter Text) Wenn ich rechts, unten oder unten-rechts ziehe funktioniert das ganze. Wenn ich aber links, oben oder links-oben ziehe, dann scheint es so, als könne sich die Form nicht schnell genug aktualisieren, jedenfalls flackert sie sehr stark und folgt auch nicht wirklich dem Mauszeiger. Hat jemand ne Idee?
Vielen Dank für deine Hilfe, aber ich habs schon hinbekommen. Der Fehler war, dass e.Location nicht wie erwartet berechnet wurde, als ich die Form verschoben habe. Als ichs mit Cursor.Position gemacht habe, hats funktioniert.