vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Steuerelemente werden nicht richtig dargestellt 
Autor: Bazi
Datum: 02.03.23 12:21

Hallo,
zur Zeit habe ich in einem erweiterten, älteren Programm ein seltsames Phänomen. Steuerelemente werden nicht richtig dargestellt, teilweise kann ich durchschauen.
Konkret habe ich einen Splitcontainer mit vertikaler Teilung, der mit Dock = Fill das gesamte Formular ausfüllt.
Das Panel2 ist ausgeblendet, und wird über einen Button der auf dem Formular sitzt, aber vor dem Splitcontainer angezeigt wird eingeblendet bzw. ausgeblendet mit:
Private Sub ButtonRaumbucheinblenden_MouseDown(ByVal sender As Object, ByVal e _
  As System.Windows.Forms.MouseEventArgs) Handles _
  ButtonRaumbucheinblenden.MouseDown
        SplitContainerRaumbuch.Panel2Collapsed = Not _
        SplitContainerRaumbuch.Panel2Collapsed
    End Sub
In dem Panel2 habe ich ein Panel auf dem viele weitere Panels sitzen. In diesen dann wiederum Textboxen, Treeviews, Tabcontrols etc.
Wenn ich eine Zeitlang mit dem Programm arbeite dann werden die Steuerelemente im Bereich des SplitContainer.Panel2 anscheinend nicht mehr neu gezeichnet. Da hilft auch kein ausblenden und einblenden über den Button oder Scrollen des Panels.
Wenn ich über einen Timer ein Refresh für das Panel auslöse wird wieder gezeichnet, aber es flackert. Das ist also keine Lösung.

An was kann das nicht Zeichnen liegen?

Danke für die Hilfe

Gruß Christian

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Steuerelemente werden nicht richtig dargestellt 
Autor: Manfred X
Datum: 02.03.23 16:32

Hallo!

Entweder läuft eine Ereigniskette (ein Ereignis-Handler A löst ein weiteres Ereignis B aus, dessen Konsequenz
wiederum den Ereignis-Handler A aufruft usw.) oder aber Du hast zu viele Controls gleichzeitig am Start.
Prüfe im Taskmanager, wie viele Objekte Deine Anwendung erstellt hat.
Eventuell werden Ressourcen, die ein oder mehrere Controls oder andere Objekte nutzen, nicht freigegeben
(Dispose-Aufruf fehlt, z.B. bei GDI+-Komponenten).
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Steuerelemente werden nicht richtig dargestellt 
Autor: Bazi
Datum: 03.03.23 18:25

Hallo,
Danke für die Anregungen.
Im Taskmanager sehe ich das Programm nur 1x. Die Auslastung sieht auch gut aus.

Ich vermute dass es mit der Verschachtelung der Steuerelemente zu tun hat. Da liegt wohl zu viel übereinander.

Eben habe ich das betreffende Formular mal bereinigt und Teile davon, die in einem Splitcontainer lagen, in eine separate Form ausgegliedert.

Mal sehen ob das besser wird.

Auf meinem Rechner mit ausreichend Arbeitsspeicher habe ich das Problem nicht, aber auf dem Rechner beim Kunden, der hat nur 8GB. . .

Danke für die Hilfe

Gruß Christian

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Steuerelemente werden nicht richtig dargestellt 
Autor: Dideldum
Datum: 04.03.23 01:28

Hi,

mit den Splitcontainern und mehreren in einem deren Panels übereinanderliegenden weiteren Panels hatte ich anfangs in meinem Projekt auch.

Bis ich die übereinanderliegenden und wecheselseitig mit visible = true bzw. visible = false anzeigbaren Panels durch mehrere ToolstripContainer als Behälter für die inliegenden Controls ersetzte.
Seither klappt die Darstellung in meinem Projekt fast problemlos.

Anordnung der Controls meines Projektes:
Ein Toolstripcontainer, in diesem ein Splitcontainer.
In dem rechten Panel dieses ersten Splitcontainers einen zweiten SplitContainer
In dem rechten Panel des zweiten Splitcontainers vier wechselseitig anzeigbare Toolstripcontainer mit den jeweiligen Controls

Der nicht zu beseitigende Fehler, den ich noch habe:
Die in den innersten vier TSCs befindlichen Controls "wachsen" dauernd aus dem TSC raus.
D.h. die ändern ihre Width-Eigenschaft selbstständig.
Je öfter ich den Designer aufrufe, umso breiter werden die Controls.

Daher musste ich im Load der Form die Width-Eigenschaften der Controls manuell korrigieren.
So funktioniert es im Programm.
Es nervt aber doch, wenn im Designer dauernd Strichpunkt-Umrisse neben der Mainform angezeigt werden.

Aber die Darstellungsfehler sind zumindest weg.

Vielleicht versuchst es auch mal mit TSCs anstelle der Panels.
In diesen kannst Du die Top-, Left, Bottom- und Right-Panels auf Visible=False setzen und nur das Main-Panel der TSC verwenden.
Dann verhalten die sich wie ein Panel.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Steuerelemente werden nicht richtig dargestellt 
Autor: Bazi
Datum: 05.03.23 09:06

OK, Danke
das mit dem Toolstripcontainer werde ich probieren.
Es ist schön zu lesen dass ich nicht der Einzige bin der dieses Problem hat(te).
Das Phänomen mit den Controls die Ihre Größe ändern habe ich auch in einigen Projekten und genau so gelöst.

Danke für die Hilfe

Gruß Christian

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Steuerelemente werden nicht richtig dargestellt 
Autor: Bazi
Datum: 06.03.23 14:12

Hi,
mit den ToolStripContainern anstelle der Panels verhält sich das Programm auf dem Kundenrechner gleich mies.
Brachte leider nicht den gewünschten Erfolg.

Es scheint so als ob das (Neu)Zeichnen der Elemente erst stattfindet nachdem ich ein anderes Form anklicke.

Danke für die Hilfe

Gruß Christian

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Steuerelemente werden nicht richtig dargestellt 
Autor: Manfred X
Datum: 06.03.23 15:48

Hallo!

Du könntest noch versuchen, ob es zu einer Verbesserung kommt,
wenn die DoubleBuffered-Eigenschaft des Formulars auf true gesetzt wird.

Beitrag wurde zuletzt am 06.03.23 um 15:48:34 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel