true jitdebugging formulario c# winforms internationalization

jitdebugging - Propiedad RightToLeft en Formulario en C#



system.windows.forms jitdebugging= true/ (3)

BackgroundImage, Opacity, TransparencyKey y los eventos de pintura no son compatibles cuando RightToLeftLayout está establecido en yes.

Quiero mover el título, el ícono y el cierre del formulario, y los botones de ayuda del lado izquierdo al lado derecho (cambiar el diseño).

Moví los controles de formulario manualmente para mantener la imagen de fondo, pero ahora quiero cambiar el título del formulario.

Cuando establezco la propiedad rightToLeft en yes y rightToLeftLayout en true en las propiedades del formulario, la imagen de fondo desaparece, pero usa la propiedad "BackColor"

Mi código es el siguiente:

if (_lang == ''Arabic'') { this.RightToLeft = RightToLeft.Yes; this.RightToLeftLayout = true; }

Pero mantiene la imagen de los botones.

Entonces, ¿por qué es eso?


Es bastante fácil reemplazar la funcionalidad perdida:

protected override void OnPaintBackground(PaintEventArgs e) { Rectangle rc = new Rectangle(Point.Empty, this.ClientSize); e.Graphics.DrawImage(Properties.Resources.SampleImage, rc); }

Tendrá que trabajar un poco más si necesita colocar la imagen en mosaico.


Para ampliar la respuesta de Blounty, las especificaciones de MSDN indican claramente que BackgroundImage, Opacity y otros no son compatibles cuando se usa RightToLeftLayout:

http://msdn.microsoft.com/en-us/library/system.windows.forms.form.righttoleftlayout(vs.80).aspx :

El sorteo del propietario no se admite cuando RightToLeftLayout está establecido en Sí. Los eventos del sorteo del propietario seguirán ocurriendo, pero el comportamiento de cualquier código que usted cree en estos eventos no está definido. Además, BackgroundImage, Opacity, TransparencyKey y los eventos de pintura no son compatibles.