更改Winforms
控件的方向/位置的正确方法是什么,因此它支持从Right-To-Left
开始的示例语言,编程方式因此它是一种形式,一种设计,但是当我切换时语言,它改变了它的位置和方向。
编辑:检查后@vcsjones回答;
它适用于布局,但控件位置没有改变。这是一张图片
我尝试过嵌套循环来改变方向,但它不起作用:
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;
}
}
答案 0 :(得分:1)
使用从右到左的unicode字符,WinForms已经可以很好地处理这个问题了。例如:
button1.Text = "\u202EHello World";
这将显示按钮的文字方式:
最有可能的是,您的应用程序文本将使用本地化文件完成。如果在本地化文件的字符串中使用RTL unicode字符,则不需要进行任何特殊编码 - unicode字符已由WinForms处理。
设置这两个属性也会切换窗口的控件布局:
RightToLeftLayout = true;
RightToLeft = RightToLeft.Yes;