Frage

Ich renne Lazarus 0.9.30.2.

Ich habe eine Tform, auf der es ein TPageControl gibt.Innerhalb des TPageControl gibt es eine Reihe von TTABsheets.Zur Laufzeit unterscheidet sich die Reihenfolge der TTABsheets von der Designzeit (siehe Bild).

Bildbeschreibung hier eingeben

Die Reihenfolge in der Designzeit ist das, was ich zur Laufzeit sehen möchte, zumindest zum ersten Mal das Formular angezeigt wird.Warum ändert sich die Bestellung bei der Laufzeit und gibt es eine Möglichkeit, dies zu kontrollieren?

War es hilfreich?

Lösung

@tlama ist korrekt, dass dies auf der Registerkarte der Windows-Registerkarte zusammenhängt, wenn sich in der Multi-Line-Ansicht verhält. Das Verhalten, das Sie beobachten, bezieht sich auf die Art und Weise, wie Sie die Auswahl für Multi-Line-Registerkarten handhabt. Wenn Sie eine Registerkarte auswählen, wird es immer in der unteren Zeile angezeigt, da der visuelle Stichwort anzeigt, welche Registerkarte ausgewählt ist, kann nur für Tabs in der unteren Zeile funktionieren.

Angesichts dieser Einschränkung muss die Steuerung einfach Zeilen von Registerkarten neu anordnen, wenn Sie die ausgewählte Registerkarte ändern. Es ist erstaunlich verwirrend für den Benutzer. Gutes UI-Design hat niemals die Position der UI-Elemente.

klar, was hier passiert, ist, dass die Umlagerung zur Laufzeit erfolgt, wenn das Formular zuerst gezeigt wird und aus irgendeinem Grund dies zu einer anderen Anordnung aus der Konstruktionszeitanordnung führt. Da der Benutzer die Zeilen in beliebiger Reihenfolge anordnen kann, indem Sie sie nur auswählen, bin ich nicht sicher, ob Sie sich keine Sorgen machen sollten, welche Reihenfolge die Zeilen auftreten.

Wenn Sie tot sind, wenn Sie ein bestimmtes Arrangement einstellen, wenn das Formular zuerst zeigt, dass Sie einen generationspflichtigen Code mit einem generationspoDiCETAGCODE-Handler für das Formular hinzufügen können: generasacodicetagpre.

Best Practice für das UI-Design besteht darin, Multi-Line-Registerkarte zu vermeiden, und ich fordere Sie auf, Ihre Benutzeroberfläche auf diese Weise neu zu gestalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top