Die Navigationsleiste öffnet in einem anderen Modus als entworfen
Ein Formular mit einer WklNavBar öffnet mit der Symbolspalte, obwohl die Leiste ausgeklappt entworfen wurde, oder
mit einer anderen Breite oder mit zugeklappten Gruppen – und Änderungen am Entwurf scheinen nichts zu bewirken. Andere
Benutzer sehen den Entwurf.
Umgebung
WKL Forms Object Library ab 1.24, mit eingeschaltetem AutoSaveLayout (Standardwert); Access-Formulare sowie UserForms
in Excel oder Word.
Ursache
Die Leiste merkt sich, was der Benutzer aus ihr gemacht hat – Modus, Breite, Anheften und zugeklappte Gruppen – je
Windows-Benutzer unter LayoutKey (Standardwert „Formularname.Steuerelementname“), in der lokalen Tabelle
USysWklLayout des Frontends oder, auf UserForms, in der Registrierung. Beim Öffnen des Formulars hat der gemerkte
Zustand Vorrang vor dem Entwurf. Änderungen durch Code zählen ebenfalls: Ein in Form_Load gesetzter Mode wird
gemerkt.
Eine nicht angeheftete Leiste, die ausgeklappt entworfen wurde, öffnet immer als Symbolspalte: Ein Formular öffnet nie mit einer Leiste, die über der Seite liegt.
Lösung
- Kehren Sie für den aktuellen Benutzer zum Entwurf zurück:
Me!navMain.Object.Reset(zum Beispiel hinter einer Schaltfläche „Standardansicht“); das entfernt auch die gemerkte Zeile. - Lassen Sie immer den Entwurf gelten: Schalten Sie Zustand je Benutzer merken aus (Designerseite Verhalten), oder setzen Sie
AutoSaveLayoutauf False. - Um einen Modus per Code zu setzen, ohne dass er gemerkt wird, setzen Sie ihn, bevor das Formular erscheint (
Form_Open), mit ausgeschaltetemAutoSaveLayout, oder setzen Sie den Zustand am Ende der Sitzung zurück.
Verwandte Themen
- Anordnung des Benutzers beibehalten – derselbe Mechanismus für die Layout-Steuerelemente