StatusStrip ToolStripStatusLabel wird unsichtbar sobald Spring = True

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von John422.

    StatusStrip ToolStripStatusLabel wird unsichtbar sobald Spring = True

    Hi,

    ich habe auf einem StatusStrip einen Progressbar und mehrere ToolStripStatusLabel. Sobald ich ein Label auf Spring = True setze, werden rechts davon liegende weitere Label unssichtbar.
    Ich hab echt viel rum probiert aber finde dafür keine Erklärung.

    Habt ihr eine Idee?

    John
    Kann ich nicht nachstellen. Weder im Designer noch zur Laufzeit.
    Bilder
    • SpringIsTrue.png

      6,39 kB, 883×178, 112 mal angesehen
    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.
    „true, wenn ToolStripStatusLabel beim Ändern der Größe des Formulars automatisch den verfügbaren Leerraum von StatusStrip füllt; andernfalls false. Der Standardwert ist false.“

    docs.microsoft.com/de-de/dotne…label.spring?view=net-5.0
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    @John422 Kann es sein, dass sie unter ein darüber liegendes Control geschoben werden?
    Gib denen mal die kurzen Texte "1", "2" usw.
    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 hab nochmal rumprobiert und das komplette StatusStrip auf ein ansonsten leeres Form kopiert.
    > Problem da

    Alle Elemente aus dem StatusStrip gelöscht und neu angelegt
    > Problem bleibt.

    Ein weiteres, neues StatusStrip hinzugefügt und mit identischen Elementen bestückt:
    > Keine Problem

    Alle Properties der beiden StatusStrips verglichen - identisch.

    Ich habe auf dem betroffenen Form nun das StatusStrip gelöscht und komplett neu aufgebaut. Funktioniert. Aber verstanden hätte ich das schon gerne ;)
    Bau es bitte nochmal nach, sodass das Problem auftritt und lade es gezippt über [+ Erweiterte Antwort] hoch.
    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.

    John422 schrieb:

    > Problem bleibt.
    Hast Du diesen Hinweis befolgt:

    RodFromGermany schrieb:

    Gib denen mal die kurzen Texte "1", "2" usw.
    ?
    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:

    Gugst Du Spring
    8| Dein Ernst? Vielleicht versteh ich ja nicht, was Du meinst, aber schau zur Sicherheit bitte nochmal den Titel des Threads und Post#1 an.
    @John422: Ich habe den Unterschied gefunden. Ich weiß zwar nicht, wie Du es gemacht hast, da dies nicht über den Designer einstellbar ist, aber für den StatusStrip ist in der Form1.Designer.vb ein Padding eingestellt, was den Fehler verursacht. Entferne diese Zeile und alles ist wieder im Lot:

    VB.NET-Quellcode

    1. Me.StatusStrip1.Padding = New System.Windows.Forms.Padding(1, 0, 10, 0)

    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:

    Dein Ernst?
    Sorry, ich hab den Unterschied zu den Default-Properties gesucht, und
    @John422 wenn das vorletzte Item mit .Spring = True gesetzt ist, fliegt das letzte raus, das trifft auch für die Progressbar zu.
    In diesem Falle wäre der Titel falsch gewählt, er müsste etwa lauten:
    Was macht die Property .Spring?
    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:

    wenn das vorletzte Item mit .Spring = True gesetzt ist, fliegt das letzte raus, das trifft auch für die Progressbar zu.
    Nein, das passiert nur mit dem Padding, siehe Bild in Post#2
    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.
    @RodFromGermany, vielen Dank aber ich glaube, Du hast mein Problem noch nicht nachvollzogen.

    Mit Spring = True darf überhaupt kein Element "rausfliegen". Es wird lediglich der maximal verwendbare Platz genutzt.

    @VaporiZed ja, das ist der Fehler. Nimmt man

    VB.NET-Quellcode

    1. Me.StatusStrip1.Padding = New System.Windows.Forms.Padding(1, 0, 10, 0)


    raus, funktioniert es.

    Abgefahren. Mir war nicht bewußt, daß Controls Properties haben können, die nicht über den Designer zugänglich sind. Bzw. das falsche Properties derartige Effekte auslösen können.

    Wie das da hin gekommen ist? Komplett unklar. Ich habe das keinesfalls bewußt eingefügt.

    Danke auf jeden Fall für die Analyse !