Roy Osherove

View Original

[Problem and solution] Right-to-left menus get scrambled when form is maximized

Lots of weird things happen when you try to develop a right-to-left internationalized software package.
For example, You *think* your menus on the main form are fine, in a right-to-left state, but when you *maximize* the form all the menus suddenly are re-ordered left-to-right. Like magic.
 
How to fix it - though it seems really stupid- it works. In this example I am making my form maximized from code along with the lines that changes the menus back to their rightful state:
 

private void Form1_Load(object sender, System.EventArgs e)

{

this.WindowState = FormWindowState.Maximized;

// WORKAROUND RightToLeft Problem

this.OnRightToLeftChanged(EventArgs.Empty);

}