Abstand von per Code erstellten Controls stimmt nicht nach scrollen

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

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

    Abstand von per Code erstellten Controls stimmt nicht nach scrollen

    Hallo ihr lieben
    In meiner Anwendung erzeuge ich per Code Usercontrols auf einem Panel.
    Bei diesem Panel ist die AutoScroll Eigenschaft = True.
    Nach dem scrollen, stimmt allerdings der Abstand der Controls nicht mehr - also ein neues Control wird viel zu weit unten dargestellt.
    Das ganze habe ich hier in einer Demo mit Textboxen nachgebaut.
    Solange man auf den erstellen Button klickt und NICHT im Panel scrollt, stimmt der Abstand.
    Aber nach jedem scrollen nach unten, wird die nächste Textbox viel zu weit unten dargestellt.

    Wo ist hier mein Denkfehler?
    Dateien
    Die Location der Controls ändert sich durch das Scrollen, es ist relativ zur oberen Linken Ecke des Panels. Scrollste runter und die Controls "verschwinden" oben, hat die Location.Y dieser Controls einen negativen Wert. Lass dir mal beim scrollen das ausgeben Panel1.AutoScrollPosition.Y oder auch Debug.WriteLine(ControlList(0).Location.ToString())

    VB.NET-Quellcode

    1. Dim yPos As Integer = _UCCOunt * 35 + 10 + Panel1.AutoScrollPosition.Y

    Die Natur ist bekanntermaßen knallhart, sie sortiert aus was sich nicht bewährt hat.(Harald Lesch, 2021)

    Demnach müssten wir bald dran sein...

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Takafusa“ ()

    @DerSmurf Nimm ein FlowLayoutPanel und feddich.
    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!