Barbara veröffentlicht am 10.November, 2011
Ein frisch gebackener Bildschirm zum Anzeigen einer Adresse sieht erstmal so aus:
Und im Designer so
Nun will man aber für gewöhnlich nicht für jedes Feld eine eigene Zeile haben, sondern z.B. die Postleitzahl und den Ort in einer Zeile gemeinsam haben. Also habe ich getüftelt und recherchiert und fand heraus, dass man mit Hilfe des TableColumnLayouts genau das erreichen kann.

Das sieht schon besser aus, hat aber eine Menge Zeit in Anspruch genommen, weil die Labels der Textboxes einzeln ausgeschaltet werden müssen und man jede TableColumn und jedes darin enthaltene Element konfigurieren muss. (wenn jemand wissen möchte, wie das geht, einfach nachfragen )
Ohne Konfiguration sieht das ganze (wenn man Glück hat) so aus:

Als ich dann noch die Labels der Textboxen angezeigt haben wollte, verzweifelte ich noch mehr.
Die Positionen der Labels ist an die der Textbox nicht gebunden und so ist es manchmal unmöglich sie auf gleiche Höhe zu bekommen.
Dann habe ich zum Glück den AdressEditor entdeckt und siehe da:
Die Adresse ist gut aufgeteilt, alle Label sind sichtbar, können aber auch ausgeblendet werden und das ohne langes Positionieren.
Den AdressEditor kann man auch Read-Only setzen. Oder man nimmt gleich den AdressViewer stattdessen. Sieht dann aber so aus
oder mit Label so:
Außer man ändert die Felder von Label zu was auch immer man möchte.
Allgemein kann man sagen, dass alle im Screen verfügbaren Daten im Adressviewer anzeigen lassen kann.
Aufgebaut ist das ganze immer so:
City, State und Zip Code sind also immer in einer gemeinsamen Zeile angeordnet.
Lässt man das Zip Code Feld einfach leer, sieht das noch annehmbar aus
Ohne State-Feld sieht das leider nicht mehr so schön aus

Kein Problem ist das Weglassen einer ganzen Zeile.
Ohne State, Zip Code und City Felder
Oder ohne die Street Line 2
Ist alles immer schön angeordnet.