在C#中镜像用户控件

时间:2014-07-18 15:45:18

标签: c# winforms

我有一些不支持RightToLeft布局的用户控件,我只有DLL。 我希望通过代码在这些控件中实现RightToLeft布局。

我该怎么做?

注意:我尝试使用TableLayoutPanelFlowLayoutPanel,但问题仍然存在。

1 个答案:

答案 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);
}