Laden...

Flackern von Controls, die von Plugins gefüllt werden, beim Resize

Erstellt von PhilHol vor 15 Jahren Letzter Beitrag vor 15 Jahren 910 Views
P
PhilHol Themenstarter:in
82 Beiträge seit 2007
vor 15 Jahren
Flackern von Controls, die von Plugins gefüllt werden, beim Resize

Hallo,

Ich hab nach dieser Anleitung:

http://www.codeproject.com/KB/cs/pluginsincsharp.aspx

Ein Modulares Projekt gestartet.

Nun meine Idee war folgendermaßen:

Ich hab ein Form, und dieses Form hat ein PluginHost, der die Plugins verwaltet und schnittstellen bietet -> z.b. LoadModule();
bei LoadModule wird ein UserControl als Argument übergeben, und die Klasse PluginHost schreibt sie dann immer in das Formular.

Vorher wird über eine Schleife kurz geprüft ob andre Module noch was nachändern wollen..
Das funktioniert ganz passabel, jedoch hab ich 1 Problem

Beim Resize, oder allgemein beim verändern der Größe + Position der Formulars kommt es zu furchtbaren Verzögerungen (OK furchtbar .. aber es ruckelt ordentlich)
Hat wer eine Ahnung woran das liegen könnte ? oder womit ich das wegbekomem?

Liegt das am UserControl im Formular ?
Gibts es für sowas optimierte lösungen (modulare systeme) ?

Achja DoubleBufferd = true ist an .. Damits net flackert ^^

Wie gesagt .. jedes modul zeichnet seinen eigenen inhalt hinein, aber kann von andren modulen "erweitert" werden

danke für jede Info 🙂

lg

1.044 Beiträge seit 2008
vor 15 Jahren

Hallo PhilHol,

schau mal hier: [Artikel] Flackernde Controls und flackerndes Zeichnen vermeiden . 🙂

zero_x

P
PhilHol Themenstarter:in
82 Beiträge seit 2007
vor 15 Jahren

Hallo,

Mhm .. ja das habe ich eigentlich alles implementiert (so ziemlich)

Aber soweit ich mitbekommen habe, liegt das eher an der fülle von den Controls

Als Beispiel ..

  1. ich starte das programm
  2. Das Form fragt mal das hauptmodul nach dem hauptUserControl
  3. Das Form fragt alle Module ob es Änderungen an diesem UserControl gibt
  4. Das UserControl wird in das Panel des Forms eingefügt (Controll.Add(UserControl)
  5. Das UserControl wird in das Panel "gedockt"
    5.a. in diesem User Control liegen lauter Buttons + ein eigenes FlowLayoutPanel, was mit eigenen User Controls (Karteikärtchen) gefüllt wird
    5.b wenn man auf ein kärtchen klickt, dann ruft das kärtchen die Lade Option vom Formular auf und dann beginnt das spielchen von neuem (nach 1.)

Das heißt der Bildschirm zeigt an:

Form

  • Panel
    -- UserControl (das wird von den Modulen generiert)
    --- Button1
    --- Button2
    --- FlowLayoutPanel
    ---- Karteikarte1
    ---- Karteikarte2
    ---- Karteikarte3

Kann man das vllt bissl besser gestalten? (hoffe man versteht was ich meine)

Ist eher eine Design frage des Programms ich weiß .. aber ich steh irgendwie an und hab scho gegoogelt + auch CodeProject scho bissl danach gefragt, aber für solche Fälle gibts irgendwie keine Ideen (oder macht man das nicht so ?)