我有一个Windows项目(C#),我们将用于阿拉伯。我们知道这个国家遵循右翼到左翼机制。如何以RTL(从右到左)格式移动面板中的所有控件位置。我已经设置了属性' RightToLeft'和' RightToLeftLayout'为true但它只移动窗体内的控件而不是面板。参见示例
我已经在控件移动时应用了所述属性,这些属性只是在窗体上,但是面板内的控件保持不变。
答案 0 :(得分:4)
你可以使用这个控件:)
class MyPanel:Panel
{
private bool myRightToLeftLayout=false;
public bool MyRightToLeftLayout
{
get { return myRightToLeftLayout; }
set
{
if (value != myRightToLeftLayout)
{
foreach (Control item in base.Controls)
{
try
{
item.RightToLeft = value==true?RightToLeft.No:RightToLeft.Yes;
item.Location = new System.Drawing.Point(base.Size.Width - item.Size.Width - item.Location.X, item.Location.Y);
}
catch { }
}
myRightToLeftLayout = value;
}
}
}
}
和这样的结果
MyRightToLeftLayout = false
MyRightToLeftLayout = true
答案 1 :(得分:0)
关于RightToLeftLayout的事实:
所以根据第二点,您需要将其设置为所有单个子元素
答案 2 :(得分:-1)
你可以做两件事:
首先,在Web应用程序的Web.config
文件中,将<globalisation>
元素的culture属性设置为&#39; ar-SA&#39;
其次,将每个页面元素的HTML dir属性设置为&#34; rtl&#34;