According to MSDN
form.RightToLeftLayout = True;
form.RightToLeft = ifWeWantRTL() ? RightToLeft.True : RightToLeft.False;
is enough to mirrow the form content for RTL languages.
But controls placement gets mirrowed only for controls immediately on the form,
those inside a GroupBox or a Panel are not mirrowed, unless I put them on a TableLayoutPanel or a FlowLayoutPanel fisrt.
This is a lot of manual work to place a TableLayoutPanel inside each GroupBox,
and especially to rearrange the controls (one control per table cell, padding, margin, etc)
Is there an easier way to make mirrowing work for all controls?
Or at least, how can I bypass the rearranging step, for it is quite a task with our number of forms?
Edit: RightToLeft property for each control on the form by default is inherited,
so Panels and GroupBoxes always have the needed RightToLeft setting.
Nevertheless, I tryed to reassign it for them both programmatically and from designer, it did not help.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…