Announcement

Collapse
No announcement yet.

Falscher Abstand bei dynamisch erzeugten Controls

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Falscher Abstand bei dynamisch erzeugten Controls

    Hallo zusammen,
    ich erzeuge dynamisch Controls. Das funktioniert auch gut.
    Wir aber ein Control erzeugt, welches ausserhab des sichtbaren Bereichs der Form liegt, ich dann Autoscroll auf true setzte, werden die Controls nicht mehr in dem Richtigen Abstand eingefügt. Die Controls werden ca. um die Distance verschoben, welche die Scrollbar unten als Verschiebestrecke hat.
    Bei
    Me.Width = 500 'funktioniert nicht. Die dritte Combobox ist zu weit rechts

    Me.Width = 1000
    Funktioniert gut

    Der Code ist in dem Anhang.
    Ich würde Euch bitten das mal zu Testen, ob das bei Euch Auch so ist....

    Hat jemand eine Idee woran das liegt und was ich machen muss ???


    Danke
    Attached Files

  • #2
    Mach es einem potentiellen Helfer doch etwas einfacher und hänge ein kompilierbares Projekt an.

    Comment


    • #3
      Hier nochmal das Projekt als Zip-File.

      Zum Testen nacheinander die Radiobutton der Form betätigen.
      Erst mit Form.Width = 500. Hier verspringt die dritte Combobox.
      Dann mit Form.Width = 1000 jetzt wird die Combobox an der richtigen Stelle angezeigt.
      Attached Files

      Comment


      • #4
        Ich glaube du übersiehst das sich sobald du die Scrollbar Position änderst sich die 0 Koordinate selbst nicht ändert. Heißt es ist immer noch die sichtbare linke obere Ecke und nicht ein durch das scrollen aus dem Clientbereich herausgescrollter Punkt. Beim scrollen sobald sich Controls bewegen änderen sich deren Left und/oder Top Properties entsprechend. Du mußt also für die Berechnung der richtigen Koordinaten für dein neues Control die aktuelle Scrollbar Position mitberücksichtigen.

        Ich habe es jetzt nicht allgemein ausprobiert nur an der letzten Combobox aber es müßte eigentlich reichen dort wo du jetzt jeweils die Left Property der Controls setzt noch 'Me.AutoScrollPosition.X' hinzu zu addieren.

        Comment


        • #5
          Ok.
          Me.AutoScrollPosition.X funktioniert. Ich habe da noch etwas tricksen müssen und prüfen müssen ob die Scrollbar in diesem Moment benötigt wird und auch sichtbar ist, aber grundsätzlich funktioniert das....


          Danke

          Comment

          Working...
          X