String Erweiterung fehlerhaft?



  • Tag,

    ich habe eine WinForm mit einer Textbox. Auf diese wird ein String geschrieben, welches Zahlen enthält die eingegeben werden. D.h. die Zahlen werden nicht direkt in die Textbox eingegeben, sondern bei der Eingabe abgefangen, an den String angehangen und dann wird der gesamte String ausgegeben.

    Mein Problem ist nun, wenn ich per

    display_text += ",";
    textBox1.Text = display_text;
    

    ein Komma an den String ranhänge, wird dieses plötzlich an der aller ersten Stelle angezeigt, also wenn 123, in der Reihenfolge gedrückt wurde, zeigt die Textbox ,123 . Sobald ich aber eine weitere Zahl eingebe, wird das Komma richtig gestellt, also 123,4 .

    Des Weiteren wird, wenn das Komma das aller erste Zeichen ist, das eingegeben wird, dieses immer an letzer Stelle geschrieben, also immer 1234, oder dann 123456, .

    Wie kann ich dies verhindern?

    EDIT: Die Textbox hat eine Right to Left Ausrichtung...



  • Verstehe Dein Problem nicht.
    Sieht Dein Code in etwa so aus?

    String display_text = txtBox_Eingabe.Text;
     display_text += ",";
     display_text += "55";
     txtBox_Ausgabe.Text = display_text;//Ausgabe = txtBox_Eingabe.Text,55 (Bsp. 63,55 oder 77,55):
    


  • Kalkihe schrieb:

    EDIT: Die Textbox hat eine Right to Left Ausrichtung...

    No wenn das mal kein guter Hinweis ist.
    Bidi ist mächtig komplex, am besten du beschäftigst dich mal etwas mit dem Thema.
    Ich würde mal behaupte dass der Bidi Algorithmus "123," nicht als Zahl erkennt, "123,45" aber schon.
    Dank mal darüber nach, dann wird vielleicht einiges Klara.



  • Tja, RightToLeft ist etwas anderes als rechtsbündige Ausrichtung!



  • Th69 schrieb:

    Tja, RightToLeft ist etwas anderes als rechtsbündige Ausrichtung!

    Genau das ist mir mittlerweile auch aufgefallen, habs dann mit dem Parameter "TextAlign" beheben können.


Anmelden zum Antworten