带有字母和数字的TextBox RTL

时间:2016-01-12 09:17:38

标签: c# winforms

我将TextBox.RightToLeft属性设置为Yes 当我输入此文本时:“a 32”存储的字符串 是“32 a”。 输入文本的顺序是:首先 3 2 然后空格然后 a

如何将值存储为输入?

3 个答案:

答案 0 :(得分:0)

MSDN:

  

如果仅在运行时更改RightToLeft属性的值   保留没有格式化的原始文本。

您必须自行撤销其订单:

string[] text = textBox1.Text.Split(new char[]{' '}, StringSplitOptions.RemoveEmptyEntries); //get string while preserving the words
Array.Reverse(text); //reverse the order of words (not their chars)
string finalValue = string.Join(" ", text); //make the string out of array

答案 1 :(得分:0)

试试这个:

设置 TextBox 属性 RightToLeft = NO并使用 TextAlign =右。

答案 2 :(得分:0)

  

OP:如何将值存储为输入?

无论TextBox的显示设置如何,字符串都将以您输入的字符的相同顺序存储。

如果输入 3 2 Space a ,那么您的值将以相同的顺序存储Text TextBox属性的值将为32 a,而基于RightToLeftTextAlign属性的显示会有所不同。

以下是按顺序输入文本的结果: 3 2 Space a 。 选择所需的设置,存储字符串,然后使用相同的设置在TextBox中再次显示。

enter image description here