Guten Tag Liebe Community,
ich habe ein sehr seltsames Problem mit der im Titel erwähnten Control. Ich wollte eine Art Taschenrechner basteln und das Funktioniert an sich wunderbar. Es besteht nur ein Problem, wenn ich dem String der der Textbox zur Aktualisierung übergeben wird ein zeichen per "+" - Operator hinzufüge, das keine Nummer ist. Wie z.B. das Komma:
CurrentString = CurrentString + ",".ToString();
Es wird dann nichts weiter gemacht als das zur Zuweisung die Texteigenschaft der Richtextbox verwendet wird.
textBox.Text = CurrentString;
Das lustige ist nun, das in der Textbox nicht z.B. etwa dieser String steht: "5," sondern ",5". Der Spaß geht aber noch weiter. Werden diesem String nun noch weitere zeichen die Nummern sind hinzugefügt wird der String wieder richtig dargestellt. Z.B wir dann nicht etwa: "2,5" sondern vollkommen richtig: "5,2" angezeigt. Ich habe per Debugging überprüft, dass durch meine Algorythmen der String IMMER korrekt übergeben wird. Daran kann es also nicht liegen. Zumal sich das Problem auch einfach beheben lässt. Ich muss nur die Eigenschaft RigthToLeft von Textbox auf "false" setzen. Allerdings ist das nicht wirklich eine Lösung, da die Zeichen bei einem Taschenrechner nunmal von der rechten Seite beginnend nach links geschrieben werden. Solange ich nur Zahlen zu dem String hinzufüge wird er stehts korrekt dargestellt.
Ich kann mir das nur durch einen Fehler in der Implementierung erklären. Hätte da jemand ein Workaround?
Ich bin für jede hilfe dankbar.
Gruß Stephen
Hallo Stephan,
erst einmal ist ",".ToString();
Blödsinn, weil ","
ja bereits schon ein String ist.
Und das was du suchst ist die Eigenschaft SelectionAlignment.
Gruß
Maik
RightToLeft Layout hat etwas mit Sprachen zu tun, nicht mit Text-Positionierung...
RichTextBox.SelectionAlignment sollte dir weiterhelfen 😉
Mh... das mit dem SectionAlignment war es. Ok manchmal kann man wohl einfach dämlich sein. Ich danke für die freundliche Hilfe!
EDIT: Eine Frage noch... Wie markiert man den Beitrag als gelöst?
Indem man den Titel bearbeitet und einfach ein "[gelöst]" davor schreibt 😉
Steht übrigens auch in [Hinweis] Wie poste ich richtig?