mikrocontroller.net

Forum: PC-Programmierung VC# Cursor blinken bei read only TextBox


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe eine TextBox und in der möchte ich nur Informationen ausgeben und 
keine eingeben. Folglich habe ich unter Property das Read only auf true 
gesetzt.

Wenn ich nun in die Textbox klicke, kann ich wie gewollt nichts 
eintippen, es erscheint aber ein "blinkender Eingabe Strich" links oben 
in der Textbox.

Der macht nun eigentlich keinen Sinn und ich würde ihn auch gerne 
ausblenden.

Weiss aber nicht wie.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Setz halt "Enabled" auf false.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jo, das hatte ich auch schon gesetzt, dann kommt aber der Text, den ich 
dort anzeigen tu, leicht gegraut und nicht mehr so kräftig schwarz 
daher.

Ist eine Lösung, mit der ich leben könnt, sofern ich nichts besseres 
finde.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gast wrote:

> Der macht nun eigentlich keinen Sinn und ich würde ihn auch gerne
> ausblenden.

Doch, das macht sehr wohl Sinn.
Der Cursor ermöglicht dir nämlich, dass du einzelne Zeichen
oder die ganze Text Sequenz selektieren kannst und mit
Strg+C in die Zwischenablage kopieren kannst. Daraufhin wechselst
du das Programm, zb zu Notepad oder zu Excel oder zu Word oder sonst
irgendeinem anderem Programm und setzt den so in die Zwischenablage
kopierten Text mit Strg+V wieder ein. (Das kann auch eine andere
Textbox in deiner Anwendung sein).

Wenn du auch dieses nicht willst, dann macht allerdings eine
Textbox überhaupt keinen Sinn mehr. Die Textbox ist dann ganz
einfach das falsche Werkzeug und du willst eigentlich ein Label
an dieser Stelle haben.

Aber: Dein Benutzer entscheidet, ob ein Copy&Paste für ihn Sinn
macht. So leichtfertig würde ich ihm dieses mächtige Werkzeug
nicht aus der Hand geben. Es macht nämlich keinen Spass irgendwelche
Rechenergebnisse mit der Hand abzutippen, wenn ich sie auch ganz
einfach mit Copy&Paste übernehmen kann. Und du als Programmierer
weist nie, was dein Benutzer mit errechneten Ergebnissen alles
anfangen will.

Autor: Markus Volz (valvestino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was die Situation in Deinem Sinne etwas verbessern könnte ist
myTextBox.TabStop = false;
Das verhindert zumindest, daß der Benutzer mit der TAB-Taste im 
Text-Feld landet.

Gruß
Markus

Autor: dechavue (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Am besten leitest du eine eigene Klasse von RichTextbox ab und setzt die 
Controlstyles (bei der Textbox bleibt trotzdem ein blinkender Cursor, 
zumindest unter Vista):

class ReadonlyTextBox : RichTextBox {
    public ReadonlyTextBox ( ) {
        this.SetStyle ( ControlStyles.UserMouse, true );
        this.SetStyle ( ControlStyles.Selectable, false );
    }
}

greetz dechavue

PS: Wie meiene Vorposter schon sagten solltest du es dir nochmal gut 
überlegen ob du wirklich das Markieren / Kopieren unterbinden willst.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dechavue wrote:

> PS: Wie meiene Vorposter schon sagten solltest du es dir nochmal gut
> überlegen ob du wirklich das Markieren / Kopieren unterbinden willst.

Yep. Ich verfluche heute noch die Microsoft Programmierer,
die im Windows Taschenrechner entschieden haben, dass Copy&Paste
nicht funktionieren soll.
Wäre ja auch zu einfach. Mit dem Taschenrechner eine Berechnung
machen und das Ergebnis in Word (oder auch in dieses Forum)
ganz einfach zu übernehmen.

Autor: Markus Volz (valvestino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Karl heinz Buchegger:
Hast Du in den letzten Jahren mal das Menu "Bearbeiten" im 
Windows-Taschenrechner angeschaut? Ich weiß leider nicht, seit wann 
Copy+Paste implementiert sind. Aber es ist schon eine ganze Zeit her... 
;-)

Gruß
Markus

P.S.: Hat mich früher aber auch genervt...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus Volz wrote:
> @Karl heinz Buchegger:
> Hast Du in den letzten Jahren mal das Menu "Bearbeiten" im
> Windows-Taschenrechner angeschaut? Ich weiß leider nicht, seit wann
> Copy+Paste implementiert sind. Aber es ist schon eine ganze Zeit her...
> ;-)

Jetzt wo du's sagst.
Trotzdem würde ich mir wünschen, dass ich direkt aus dem Edit
Feld heraus den Copy machen kann, so wie man das in jedem anderen
Programm auch machen kann.


Wusstet ihr eigentlich, dass es in den Windows-Jugendjahren
einen Styleguide für Windows Programme, herausgegeben von
Microsoft, gab?
Und wusstet ihr auch, dass Microsoft mit bei den Ersten war, die
sich nicht daran hielten?

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger wrote:
> Wusstet ihr eigentlich, dass es in den Windows-Jugendjahren
> einen Styleguide für Windows Programme, herausgegeben von
> Microsoft, gab?
> Und wusstet ihr auch, dass Microsoft mit bei den Ersten war, die
> sich nicht daran hielten?

Nein, denn eigentlich habe ich da wohl noch nicht gelebt :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.