Announcement

Collapse
No announcement yet.

Resizable Control - Zur Laufzeit in der Größe veränderbares Control erstellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Resizable Control - Zur Laufzeit in der Größe veränderbares Control erstellen

    Hallo zusammen,

    ich versuche ein Control zu erstellen, das man zur Laufzeit mit der Maus in der Größe verändern kann. Also der klassische Effekt, wie man ihn nicht zuletzt aus dem Designer vom Visual Studio kennt: Anklicken, das Teil bekommt acht Anfasser, an denen kann man es größer und kleiner ziehen.

    Im Großen und Ganzen funktioniert das auch. Einfach ausgedrückt: Beim Mousedown merke ich mir die Mausposition, und beim MouseMove errechne ich jedesmal die Differenz zwischen jetziger Position und gemerkter Position und berechne daraus die neue Größe.

    Wie gesagt, das funktioniert.

    Der Haken ist, dass das Teil beim Vergrößern und Verkleiner flackert ohne Ende. Es liegt vermutlich daran, dass ich bei jedem MouseMove - also bei jedem Pixel Verschiebung - die Größe neu zuweise und das Teil sich ständig neu zeichnet.

    Ich könnte SuspendLayout benutzen, aber dann sieht man nicht mehr, wie groß man schon gezogen hat :-(

    Hat einer eine Idee, wie man das Problem lösen kann?

    Vielen Dank!

  • #2
    Hallo,

    bei den Hinweisen unter Flackernde Controls vermeiden / Schnelles, flackerfreies Zeichnen könntest Du fündig werden. Das ist zwar alles C#, aber die Ideen sind pures NET, können also auch für VB.NET verwendet werden.

    Gruß Jürgen

    Comment

    Working...
    X