Entwickler-Ecke

Basistechnologien - Einzelne Buchstabe aus Textbox auswählen


TheSoul - Di 03.11.09 10:09
Titel: Einzelne Buchstabe aus Textbox auswählen
Hallo zusammen,

Wie der Titel schon ausdrückt möchte ich den ersten Buchstaben vom Textbox auswählen und im Code weiterverwenden. Ich habe scho mit IndexOf() versucht, klappte aber nicht.

Danke schon im Voraus für eure Hilfe.


JüTho - Di 03.11.09 10:16

Hallo,

das kannst du dir doch ganz leicht selbst erklären: Der Inhalt der TextBox steht in einer ihrer Eigenschaften, in welcher denn bloß? Diese Eigenschaft ist von einem bestimmten Typ, von welchem denn bloß? Jedes Objekt von diesem Typ hat alle dessen Eigenschaften, die in der SDK-Doku/MSDN stehen und über Hilfe>Index zu finden sind. Darunter gibt es eine, die so erklärt wird:
Zitat:
Ruft das Zeichen an einer angegebenen Zeichenposition innerhalb dieser Instanz ab.

Oh, ich komme an ein Zeichen an einer ganz bestimmten Position heran. Na sowas, ist das nicht deine Frage?

Etwas mehr Eigeninitiative bitte! Jürgen


Stübi - Di 03.11.09 10:20

Hallo

Ich habe leider gerade keine Programmierumgebung zur Hand und auch Ewigkeiten nicht mehr richtig programmiert. Aber es müsste etwas mit Index sein. Also den String[x] gibt Dir die x+1 Stelle des Strings.

Grüsse

Stübi


TheSoul - Di 03.11.09 10:20

In der Textbox ist nichts dring, es sollte bei Eingabe den ersten Buchstaben auswählen.


Stübi - Di 03.11.09 10:32

Dann schau Dir noch die Key-Events an, diese werden beim Drücken, loslassen und so weiter, einer Taste ausgelöst und geben IMHO sogar den eingegebenen Buchstaben mit.

Grüsse

Stübi


Nemag - Di 03.11.09 11:13

user profile iconTheSoul hat folgendes geschrieben Zum zitierten Posting springen:
In der Textbox ist nichts dring, es sollte bei Eingabe den ersten Buchstaben auswählen.


Wie es ist nichts drin? Wenn in der Textbox nichts steht, kannst du auch nicht den ersten Buchstaben auswählen.
Vielleicht solltest du mal genauer erklären was du machen willst - weil raten, bringt nicht so viel.


TheSoul - Di 03.11.09 11:16

Es soll erst nachdem ich den Text eingegeben habe auslesen


leer:
Input :
return :

nicht leer:
Input: ajskdfjalsdf
return: a


Nemag - Di 03.11.09 11:40

Und wo besteht jetzt dein Problem?
Das du erst wenn der gesamt Text drinsteht die Ausgabe erzeugen willst oder was? Dann musst du dir eine Art Quittierung einfallen lassen.

Ansonsten ist das auslesen kein Problem, wie dir der JüTho gibt es eine Eigenschaft. Die du nur abzufragen brauchst. Nennt sich "Text".

(Zu deinem Versuch mit IndexOf() sag ich jetzt mal nichts)


C#-Quelltext
1:
2:
if(TextBox.Text.Length > 0)
  char firstChar = TextBox.Text[0];


sollte dir helfen - dies kannst du ja wie du es brauchst in KeyDown/KeyUp/TextChanged-EventHandler der Textbox durchführen.

Bitte schau demnächst auch selbst in die MSDN (bzw. in die IntelliSense/ToolTips vom Visual Studio falls du dieses benutzt);