我有一些不支持RightToLeft
布局的用户控件,我只有DLL。
我希望通过代码在这些控件中实现RightToLeft
布局。
我该怎么做?
注意:我尝试使用TableLayoutPanel
和FlowLayoutPanel
,但问题仍然存在。
答案 0 :(得分:1)
你必须使用一些逻辑手动完成。
private bool isLeft = true;
private void SwapPosition()
{
isLeft = !isLeft;
foreach (Control cnt in this.Controls)
SwapPosition(cnt);
}
private void SwapPosition(Control cnt)
{
cnt.Left = cnt.Parent.Width - (cnt.Left + cnt.Width);
///Assign other properties also
///ie. cnt.RightToLeft = !isLeft
///if (isLeft) then NormalFont else Hebrew or any
foreach (Controls cntChild in cnt.Controls)
RightToLeft(cntChild);
}