28 Stimmen

Wie kann ich Bildlaufleisten in einer System.Windows.Forms.TextBox nur anzeigen, wenn der Text nicht passt?

Für eine System.Windows.Forms.TextBox mit Multiline=True möchte ich die Bildlaufleisten nur anzeigen, wenn der Text nicht passt.

Dies ist ein schreibgeschütztes Textfeld, das nur zur Anzeige dient. Es ist eine Textbox, so dass Benutzer den Text herauskopieren können. Gibt es irgendetwas eingebautes, um die automatische Anzeige von Bildlaufleisten zu unterstützen? Wenn nicht, sollte ich ein anderes Steuerelement verwenden? Oder muss ich Hook TextChanged und manuell für Überlauf überprüfen (wenn ja, wie zu sagen, wenn der Text passt?)


Ich habe kein Glück mit verschiedenen Kombinationen von WordWrap- und Scrollbars-Einstellungen. Ich möchte keine Scrollbars zunächst haben und haben jeweils dynamisch nur erscheinen, wenn der Text nicht in die angegebene Richtung passen.


@nobugz, danke, das funktioniert, wenn WordWrap deaktiviert ist. Ich würde es vorziehen, Wordwrap nicht zu deaktivieren, aber es ist das geringere Übel.


@André Neves, das ist ein guter Punkt, und ich würde diesen Weg einschlagen, wenn er vom Benutzer editierbar wäre. Ich stimme zu, dass Konsistenz die Kardinalregel für die Intuitivität der Benutzeroberfläche ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X