C# 在从右向左的文本框中书写阿拉伯数字

C# 在从右向左的文本框中书写阿拉伯数字,c#,winforms,C#,Winforms,我有一个本地化为阿拉伯语沙特阿拉伯(ar SA)的表单,该表单的RightToLeft属性设置为true,RightToLeft布局也设置为true,现在我的问题是客户会收到这样一个数字: 773/17/26,但正如您所知,阿拉伯语是从右向左书写的,因此当用户读取或试图输入该数字时,他开始从数字26,而不是773,因此他在键盘上真正键入的是:26/17/773,但实际数字是773/17/26 现在,我在.NET Windows窗体文本框中找不到这样做的方法 作为参考,您可以在Microsoft

我有一个本地化为阿拉伯语沙特阿拉伯(ar SA)的
表单,该表单的
RightToLeft属性设置为
true
RightToLeft布局也设置为
true
,现在我的问题是客户会收到这样一个数字:

773/17/26,但正如您所知,阿拉伯语是从右向左书写的,因此当用户读取或试图输入该数字时,他开始从数字26,而不是773,因此他在键盘上真正键入的是:26/17/773,但实际数字是773/17/26

现在,我在.NET Windows窗体文本框中找不到这样做的方法

作为参考,您可以在Microsoft Word中尝试这样做;在Word=>Word选项=>Advanced=>显示文档内容=>将数字设置为上下文

当键盘输入设置为阿拉伯语时,您可以用阿拉伯语书写任何数字,也可以使用所需的格式,我的意思是光标在Word中总是从右向左移动

现在,这是我无法以我的形式做到的事情;我希望文本框的光标始终从右向左移动,而不是从左向右移动

总之,用户将分别按26/17/773键,但我需要在文本框中看到的是733/17/26


谢谢你的帮助。

顺便说一句,我得到了帮助,答案是:

 private void textBox3_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == '/')
            {
                textBox3.SelectedText +=" ";
            }
        }

它就像我想要的那样工作

我必须承认,我假设如果从右到左输入,你会按字面意思输入相反的内容,而不是按组输入相反的内容。这是否意味着阿拉伯语中的数字与英语中的数字相同?是的,它们是相同的,我可能很难解释我在英语中的意思,但请应用我上面提到的Microsoft示例,它将真正帮助您理解我真正的意思,谢谢。
private void textBox3_KeyPress(object sender, KeyPressEventArgs e)
{
        if (e.KeyChar == '/')
        {
            e.Handled = true;
            textBox3.Text = "/" + textBox3.Text;
        }
}