Hallo Martin,
Post by Martin H.Post by Peter GötzIch denke, Du tust Deinen künftigen Benutzern keinen
besonderen Gefallen, wenn Du von "Windows-Standard"-
Darstellungen abweichst. Otto-Normal-Benutzer weiss,
dass graue Schrift in einer Textbox bedeutet, dass sie
gesperrt (enabled = false) ist. Andere farbliche Darstellungen
würden den Benutzer eher verwirren.
das hat aber mit den Windows-Einstellungen nichts zu tun.
Unter VB5 kann man für eine TextBox ReadOnly (Locked) einstellen
und sie behält trotzdem ihren weißen Hintergrund. Es dürfte sich
bei dieser Änderung also wahrscheinlich um ein Feature des
Frameworks handeln.
Ich stimme Dir zu, dass die meisten Benutzer bei einer ausgegrauten
Textbox erwarten, dass der enthaltene Text nicht verändert werden kann,
während sie bei einer weißen erwarten würden, dass sie verändert werden
kann. Nur kann es trotzdem Sinn machen, die Farbe frei vergeben zu
können, wenn z.B. die aktive TextBox hellgelb wäre, könnte sie als
deaktivierte TextBox dunkelgelb sein.
Sofern der jeweilige Benutzer diese Farben selbst und individuell
einstellen kann, ist dagegen nichts einzuwenden. Nur sollte man
im Programm nicht unveränderliche Farbkontraste festlegen, da
dies für viele Anwender mit einer Farbsehschwäche ein Problem
darstellen könnte.
Nach Gesprächen mit einem Betriebsarzt eines grossen Industrie-
unternehmens war ich sehr überrascht, wieviele PC-Benutzer es
gibt, die irgendeine Farbsehschwäche haben, denen man als
Entwickler mit irgendwelchen gutgemeinten Farbspielereien, das
Leben eher schwer macht.
Post by Martin H.Dies würde dem Benutzer es ebenfalls klarmachen, dass sie
inaktiv ist. Es wäre m.E. sinnvoll, wenn die TextBox für den
deaktivierten Zustand 2 Zustände hätte: Standard und
Custom. Damit wäre dann jedem gedient...
Die Textbox bietet zum einen die Eigenschaft
Textbox.Enabled = True/False
wobei im Falle von False die Textbox gesperrt (keine Eingabe
möglich, kein Focus) und windowskonform ausgegraut ist.
Sie bietet ferner die Eigenschaft
Textbox.ReadOnly = True/False
mit der eine Eingabe erlaubt bzw. verhindert werden kann,
wobei die Textbox jedoch in jedem Fall den Focus erhalten
kann und auch Vorder- und Hintergrundfarben beliebig
einstellbar sind.
Post by Martin H.Falls jemand von Microsoft gerade mitliest: Könntet ihr
das bitte in die nächste Version des .NET-Frameworks
implementieren?
Ist wohl nicht nötig, da schon vorhanden.
Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)