更改Winforms控件的方向的正确方法是什么

时间:2015-07-06 00:03:55

标签: c# winforms

更改Winforms控件的方向/位置的正确方法是什么,因此它支持从Right-To-Left开始的示例语言,编程方式因此它是一种形式,一种设计,但是当我切换时语言,它改变了它的位置和方向。

编辑:检查后@vcsjones回答;

它适用于布局,但控件位置没有改变。这是一张图片 enter image description here

我尝试过嵌套循环来改变方向,但它不起作用:

    if (Constantes["RightToLeft"] != null && Constantes["RightToLeft"].ToLower().Equals("true"))
    {
        RightToLeft = RightToLeft.Yes;
        RightToLeftLayout = true;


        foreach (Control c in base.Controls)
        {
            foreach (Control item in c.Controls)
            {
                foreach (Control i in item.Controls)
                {
                    i.RightToLeft = RightToLeft.Yes;
                }
                item.RightToLeft = RightToLeft.Yes;
            }
            c.RightToLeft = RightToLeft.Yes;
        }

    }

1 个答案:

答案 0 :(得分:1)

使用从右到左的unicode字符,WinForms已经可以很好地处理这个问题了。例如:

button1.Text = "\u202EHello World";

这将显示按钮的文字方式:

RTL Hello World

最有可能的是,您的应用程序文本将使用本地化文件完成。如果在本地化文件的字符串中使用RTL unicode字符,则不需要进行任何特殊编码 - unicode字符已由WinForms处理。

设置这两个属性也会切换窗口的控件布局:

RightToLeftLayout = true;
RightToLeft = RightToLeft.Yes;

enter image description here