Keine Scrollbars beim zusammenschieben und Splitcontainer außerhalb der Form

  • VB.NET

Es gibt 17 Antworten in diesem Thema. Der letzte Beitrag () ist von ludl8615.

    Keine Scrollbars beim zusammenschieben und Splitcontainer außerhalb der Form

    Hallo an alle,
    Da ich kein vergleichbares Problem und auch keine Lösung im Netz gefunden habe, und auch selbst nicht mehr weiter komme, hier mein Problem an dem ich schon seit Tagen knabbere.

    Ich habe mehrere Splitcontainer auf einer Form liegen, die jeweils an den übergeordneten angedockt ist. Da das Programm schon länger ohne Probleme lief, und ich nur eine zusätzliche Form hinzugefügt habe, die über einen Button sichtbar gemacht wird, hat sich an dem eigentlichen Programm oder der dazugehörigen Form und deren Eigenschaften nichts geändert. Trotzdem erscheint beim öffnen der Form keine scrollbar mehr und auch ein Panel des Splitcontainer ist außerhalb der Form. Ich muss die Spliter jedesmal erst wieder zurecht rücken. Ich kann mir nicht erklären was passiert ist. Mit einer älteren Version funktioniert alles hervorragend. Code ist gleich geblieben und die Einstellungen der Splitcontainer sowie der Form habe ich verglichen. Ich versteh es einfach nicht, vielleicht kennt jemand dieses Phänomen..???!?

    Im Anhang sind Screenshots dazu.
    1. Bild -> Alte Version nach dem start
    2. Bild -> Alte Version nach dem zusammenschieben
    3. Bild -> Neue Version nach dem Start (keine scrollbar)
    4. Bild -> Neue Version nach dem verschieben (alles Sichtbar)
    5. Bild -> Neue Version nach dem zusammenschieben, keine scrollbar


    Vielen Dank schon mal für die Unterstützung!
    Bilder
    • Alte Version_start.JPG

      61,52 kB, 728×507, 69 mal angesehen
    • Alte Version_zusammengeschoben.JPG

      46,22 kB, 551×421, 70 mal angesehen
    • Neue Version_start.JPG

      47,99 kB, 728×506, 65 mal angesehen
    • Neue Version_nach dem sortieren.JPG

      66,97 kB, 873×583, 79 mal angesehen
    • Neue Version_zusammengeschoben.JPG

      51,97 kB, 642×488, 64 mal angesehen

    ludl8615 schrieb:

    Mit einer älteren Version funktioniert alles hervorragend.
    Was ist der Unterschied zwischen der alten und der neuen Variante?
    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!
    Hallo RodFromGermany,
    Prinzipiell habe ich am code oder an den Einstellungen der Form oder der SplitContainer nichts verändert. Ich habe nur eine weitere Form hinzugefügt, die durch den Button "Zusatz-Gewicht" sichtbar gemacht wird. Natürlich ist der neuen Form ein code hinterlegt, der allerdings nur auf eine Datenbank zugreift und keineswegs in irgend einer Form auf die erste Form...

    Ich habe gerade eine brauchbare Version gefunden, bei der wenigstens die Scrollbar sichtbar wird. Allerdings bleibt es dabei, dass beim Starten der Form, die Panel der Splitcontainer außerhalb der Form erscheinen und ich sie am Spliter packen und in die Form ziehen muss..

    Das Nervt! Ich muss mich um wichtigere Dinge als so ein Layoutgefrickel kümmern, aber so kann es ja auch nicht bleinben..

    Danke schon mal für deine Hilfe!!!!
    @ludl8615 Kannst Du mal probieren, die FormX.Designer.vb einer gleichnamigen Form in einem neuen Projekt unterzujubeln. Ist das Verhalten da genau so?
    Wenn ja, poste die FormX.Designer.vb.
    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!
    Kannst Du mal probieren, die FormX.Designer.vb einer gleichnamigen Form in einem neuen Projekt unterzujubeln. Ist das Verhalten da genau so?
    Wenn ja, poste die FormX.Designer.vb.


    Jup, exactly the same..

    Das rechte und obere Panel schiebt seinen "Partner" über den Rand hinaus.

    Auch wenn ich das Fenster größer ziehe.. Es tut dabei ja schon was es soll, das rechte, bzw obere Panel soll sich ja mit der Größe der Form verändern aber der ganze Container soll immer innerhalb der Form bleiben.

    Hilft dir der Designer? Darin suche ich mir wahrscheinlich einen Wolf..

    Das letzte Bild zeigt wie es einmal ausgesehen hat (es fehlt nur ein Button).
    Bilder
    • Testversion_beim start.JPG

      58,62 kB, 840×613, 69 mal angesehen
    • Testversion_vergrößertes Fenster.JPG

      80,36 kB, 1.313×894, 62 mal angesehen
    • Testversion_scrollbar.JPG

      34,11 kB, 707×425, 95 mal angesehen
    • Ursprungszustand.JPG

      62,07 kB, 729×505, 68 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ludl8615“ ()

    ludl8615 schrieb:

    Jup, exactly the same..
    Dann poste mal die Datei.
    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!
    @ludl8615 OK. Was soll ich jetzt hier sehen?
    Ich hab mal Studio => Format => Steuerelemente sperren
    gemacht, danach sieht die Form im Run genau so aus wie im Designer.
    Da werden einige (nun) überflüssige Zeilen im Designer-Code entfernt.
    9 BindingSourcen - ich weiß nicht, was die sonst noch tun.
    ===
    Um den Übeltäter zu identifizieren:
    Mach Dir eine leere Form und kopiere die Controls und Components einzeln rüber und teste nach jedem Schritt.
    Vielleicht fällt Dir da ein Element auf, das den Wirrwarr verursacht.
    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!

    RodFromGermany schrieb:

    Um den Übeltäter zu identifizieren:
    Mach Dir eine leere Form und kopiere die Controls und Components einzeln rüber und teste nach jedem Schritt.
    Vielleicht fällt Dir da ein Element auf, das den Wirrwarr verursacht.


    Wird mir nichts anderes übrig bleiben.
    Ich seh mal was ich finden kann. Ich Dank dir trotzdem für deine Hilfe!!


    NACHTRAG:


    @RodFromGermany

    Also bei der Dritten Scrollbar tritt der Fehler schon auf (Anhang). ?( Kann es an der Software liegen?

    Ich teste mal mit dem VisualStudio auf meinem Firmen-Notebook..
    Bilder
    • Hier ist schluss.JPG

      45,84 kB, 941×876, 73 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ludl8615“ ()

    ludl8615 schrieb:

    Kann es an der Software liegen?
    An welcher Software?
    Du hattest ja lediglich den Designercode gepostet, wo ist da "Software"?
    Überleg mal, ob Du die Anzahl der geschachtelten Splitterpanels reduzieren kannst, vielleicht mit einem äußeren TableLayoutPanel.
    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!
    Ich versteh grad das Problem nicht. Wenn die SplitContainer ihre MinimumSize erreichen, wenn das Formular verkleinert wird, dann bleiben die SplitContainer bei ihrer Größe und es werden Form-Scrollbalken angezeigt. In Post#1, Bild#3 ist das gepfeilte Panel nicht außerhalb des Formulars, sondern nur extrem schmal.* Da das noch kein Größenkonflikt ist, wird auch kein Scrollbalken angezeigt.
    Ich find's nur interessant, dass, wenn ich Deine Source ausführe, die gezeigten Bilder entstehen. Wenn ich aber durch leichte Größenänderung im Designer den Compiler dazu zwinge, die Designer.VB neuzuschreiben, nun plötzlich auch Codezeilen entstehen, die vorher gar nicht drin waren. Da sind dann Margin-Angaben* für Form und SplitContainer drin. Und für letztere auch Splitter-Width-Angaben - die alle vorher in Deiner Source gefehlt haben.

    Und wenn einzelne CEs innerhalb eines Panels nur teilweise sichtbar sind, dann ist das nicht das Problem des Formulars. Das denkt sich, dass alles in Ordnung ist und dass die Panels sich schon selber drum kümmern müssen, wenn innerhalb von denen nicht alles angezeigt wird.

    Benutzt Du nun auch eine neuere VS-Version? Hattest Du da einen Umstieg?

    *deshalb sieht es so aus, als ob das Panel außerhalb liegt - eben weil die Margin-Angabe, also die Abstand-zum-Formular-Rand-Angabe fehlt.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    VaporiZed schrieb:

    den Compiler dazu zwinge, die Designer.VB neuzuschreiben
    Das hab ich mit Steuerelemente sperren gemacht.
    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!
    Also nachdem ich die beiden Panels (linkes und oberes) übertrieben zusammengeschoben hatte, sah die ganze Geschichte wieder normal aus (Bilder im Anhang). Das komische an der Geschichte ist ja, das Problem trat erst erst auf, nachdem ich das Debugging mit dem VS an meinem Privatrechner ausgeführt hatte. Der einzige Unterschied der beiden VS's ist, das die Version an meinem Privaten komplett auf deutsch installiert wurde, das an meinem Geschäfts-PC von englisch auf deutsch umgestellt wurde. An meinem alten Privaten lief alles ohne Probleme. Ich hatte es anfangs nicht weiter beachtet, da ich dachte es kann ja nichts großes sein und jetzt wo ich mich mal eben darum kümmern wollte, sitze ich schon fast zwei ganze Tage dran. Habe es allerdings jetzt auch nochmal mit meinem Geschäfts-PC getestet (neu erstellt etc.) und gleiches Ergebnis erhalten. Kann also auch grober Zufall sein..

    VaporiZed schrieb:

    Ich find's nur interessant, dass, wenn ich Deine Source ausführe, die gezeigten Bilder entstehen. Wenn ich aber durch leichte Größenänderung im Designer den Compiler dazu zwinge, die Designer.VB neuzuschreiben, nun plötzlich auch Codezeilen entstehen, die vorher gar nicht drin waren. Da sind dann Margin-Angaben* für Form und SplitContainer drin. Und für letztere auch Splitter-Width-Angaben - die alle vorher in Deiner Source gefehlt haben.


    Nachdem ich das ganze gestern Abend nochmals zerpflückt hatte, bin ich auf eine GroupBox im Hintergrund gestoßen, die ich garantiert zum erzeugen einer Scrollbar genutzt hatte. Ich glaube das hatte mir mal jemand in einem Forum geraten.. Wie auch immer, dann gehe ich jetzt nochmals alles durch und schaue explizit auf Margin- und Splitter-Width-Angaben.


    VaporiZed schrieb:

    Benutzt Du nun auch eine neuere VS-Version? Hattest Du da einen Umstieg?

    PrivatBeide Versionen (Privat sowie Geschäftlich): v4.7.02556
    Bilder
    • Zusammengeschoben.JPG

      57,42 kB, 746×528, 61 mal angesehen
    • Debugging.JPG

      62,36 kB, 729×506, 84 mal angesehen
    Servus,

    Also, der Fehler liegt wohl irgendwie am PC... Nachdem ich das Programm mit meinem Firmen-PC geöffnet habe und den Designer neu erstellen lasse, erscheint die Form so wie gewünscht. Sobald ich sie mit meinem privaten PC öffne und den Designer neu erstellen lasse, ist komplett Kaos. Ich habe mitlerweile auch VS komplett neu installiert, jedoch ohne Erfolg. Kann natürlich nicht am PC selbst liegen, das ist schon klar, aber solange ich nur am Code etwas ändere passiert ja nichts, also finde ich mich jetzt erstmal damit ab und verschwende keine Zeit damit.
    Danke trotzdem für eure Hilfe!!
    @ludl8615 Wie ist denn die Bildschirmauflösung und Systemschriftgröße hi und da?
    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!
    @RodFromGermany Das hängt davon ab! Sind beides Notebooks mit einem bis drei Monitore.
    Arbeits-PC
    • Notebookdisplay 1366 x 768 (nutze ich nur wenn ich unterwegs bin, ansonsten zugeklappt)
    • Monitor #2 (Hochformat) 1080 x 1920
    • Monitor #3 (Querformat) 1920 x 1200
    Privaten sind ebenso maximal 3 Monitore,
    • Notebookdisplay 1920 x 1080
    • Monitor #2 (Quer..) 2560 x 1440
    • Monitor #3 (Hoch..) 1200 x 1920

    aber auch wenn ich nur mit dem Hauptdisplay arbeite tritt dieses Phänomen auf.
    @ludl8615 Die sind alle verschieden. Da kann ich durchaus verstehen, dass der Designer ggf. nicht mit umgehen kann.
    Starte mal das leere Studio, ziehe es leer nacheinander auf die Schirme und öffne dort das Projekt und die Form im Designer.
    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!
    Die Bildschirmauflösung hatte übrigens nichts damit zu tun. Hab meinen Firmenpc an jedem Monitor betrieben, mit den gleich Auflösungen, und es gab keinerlei Probleme.
    Seit dem ich mit diesem PC weiter programmiere, läuft alles wieder erste Sahne!

    Nur noch zur Info.
    Trotzdem vielen Dank!!