Поместите свое изображение в раскадровку так, чтобы оно не отображалось программно, пока оно не будет изменено по умолчанию.
Это делает замеченный, что у Вас есть вполне противная проблема на Ваших руках. Играли с ним некоторое время и придумали следующее:
При использовании небольшой рекурсии можно работать, хотя все средства управления и делают ручное преобразование RTL для тех средств управления, захваченных в Pannels и GroupBoxes.
Это - быстрая небольшая насмешка для кода, который я хлопнул вместе. Я предположил бы, что Вы помещаете это в свой BaseForm (наймы, надеясь, что у Вас есть один из них), и запрос к основной загрузке формы.
private void SetRTL (bool setRTL)
{
ApplyRTL(setRTL, this);
}
private void ApplyRTL(bool yes, Control startControl)
{
if ((startControl is Panel ) || (startControl is GroupBox))
{
foreach (Control control in startControl.Controls)
{
control.Location = CalculateRTL(control.Location, startControl.Size, control.Size);
}
}
foreach (Control control in startControl.Controls)
ApplyRTL(yes, control);
}
private Point CalculateRTL (Point currentPoint, Size parentSize, Size currentSize)
{
return new Point(parentSize.Width - currentSize.Width - currentPoint.X, currentPoint.Y);
}
В соответствии со статьей Visual Studio 2005: Разработка арабских приложений Windows Forms меня оставляют со всего двумя альтернативами
Это - реальная жалость, что это должен быть тот путь.