| |
VB.NET - Ein- und UmsteigerSteuerelemente 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 | |
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). | |
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 | |
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. | |
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 | |
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 | |
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. | |
| 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 |
|
|
sevAniGif (VB/VBA)
Anzeigen von animierten GIF-Dateien
Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
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
|
|