Developer, Former MVP, now at Microsoft - Best of 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
// Call this method with this.ChangeToRTL(this)private void ChangeToRTL(Control c) { this.ApplyStyle(c); foreach (Control c2 in c.Controls) { this.ChangeToRTL(c2); }}private void ApplyStyle(Control c) { Int32 lS = GetWindowLong(c.Handle, GWL_EXSTYLE); lS |= WS_EX_LAYOUTRTL; SetWindowLong(c.Handle, GWL_EXSTYLE, lS); c.Invalidate();}