Problem mit Anwendung.

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Easly.

    Problem mit Anwendung.

    Ja, der Titel sagt vieles, ich weiß, ich weiß. Aber ich weiß nicht, wie ich es beschreiben hätte können.

    Das Problem ist folgendes: Ich habe quasi eine Form und mehrere "Fenster". Mit einem Klick auf einen Button wird die Form von allen Objekten gesäubert und die Objekte des "neuen Fensters" werden platziert. Beispiel: Ich habe eine Form mit einem Button. Ich klicke den Button, der Button verschwindet und es kommt ein Label. Ich klicke das Label, das Label verschwindet und der Button kommt wieder.

    Ich deklariere die ganzen Objekte global mit "Dim X As New Y". Beim Form_Closing-Event wird der Speicher, den die Objekte verbrauchen mit X.Dispose() freigelegt. Wenn man den Button oder eben das Label klickt, werden alle(!) Objekte mit "Controls.Remove(X)" entfernt und die Objekte, die ich dann benötige, werden mit "Controls.Add(X)" hinzugefügt.

    Wenn man nun mehrere Male auf die Objekte klickt, dann fängt die Form an zu flackern und es dauert immer länger, bis sie quasi aktualisiert - also das neue "Fenster" erstellt - wird. Wie kann ich dieses Problem beheben? Muss ich immer alle Objekte mit X.Dispose() "vernichten" und immer wieder mit "Dim X As New Y" deklarieren?

    Hoffentlich versteht ihr, wie ich das meine und wie mein Problem ungefähr aussieht. Ansonsten fragt noch mal nach...

    Ansonsten wünsche ich Euch noch einen guten Abend!
    Hat es Zweck, die Objekte mit .Visible = True | False sichtbar zu machen und sie nicht permanent zu zerstören und neu anzulegen?
    Kannst Du mal einen ScreenShot davon machen (2 Zustände)?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das mit der Sichtbarkeit habe ich noch gar nicht bedacht. Aber würde das nicht mehr Ressourcen "verschwenden"?

    Und das mit dem Screenshot: Ich weiß nicht, ob das hilfreich ist, wenn man die selbe Form zwei Mal sieht und auf der einen eben ein Label und auf dem anderen ein Button ist. Und das wird dann einfach per Klick auf diese vertauscht... Button zu Label. Label zu Button.