Вариант 1 - Зеркало форма (зеркала Titlebar тоже)
Если оба RightToLeftLayout
и RightToLeft
свойства истинно, зеркальное отображение будет включена в форме, а также размещение управления и текстовой поток будет справа -оставил. Поэтому установите RightToLeftLayout
в true и установите RightToLeft
на «да», чтобы иметь полное право на макет.
Этот способ также будет отображаться в строке заголовка формы, а поле управления будет показано слева.
Вариант 2 - Зеркало Панель (не отражает название-бар)
Если вы не хотели бы иметь право на левую панель заголовка и блок управления слева, вы должны создать свое право на левый контейнер и установить в него элементы управления, а затем установить RightToLeftLayout
контейнера в true и установить RightToLeft
контейнера на «да», чтобы иметь полное право налево в контейнере без изменения макета панели заголовка и блока управления:
using System;
using System.ComponentModel;
using System.Windows.Forms;
public class ExPanel : Panel
{
const int WS_EX_LAYOUTRTL = 0x400000;
const int WS_EX_NOINHERITLAYOUT = 0x100000;
private bool rightToLeftLayout = false;
[Localizable(true)]
public bool RightToLeftLayout
{
get { return rightToLeftLayout; }
set
{
if (rightToLeftLayout != value)
{
rightToLeftLayout = value;
this.RecreateHandle();
}
}
}
protected override CreateParams CreateParams
{
get
{
CreateParams CP;
CP = base.CreateParams;
if (this.RightToLeftLayout &&
this.RightToLeft == System.Windows.Forms.RightToLeft.Yes)
CP.ExStyle = CP.ExStyle | WS_EX_LAYOUTRTL | WS_EX_NOINHERITLAYOUT;
return CP;
}
}
}
Снимок экрана
Скриншот Вариант 1. Посмотрите на кнопку Закрыть на левой стороне заголовка:
Вот скриншот Вариант 2. Посмотрите на кнопку Закрыть в правой части строки заголовка:
Если вы не возражаете, я спрашиваю, что бы вы считаете наиболее подходящим для правильного локализованного программного обеспечения? Я предполагаю, что, поскольку вы иранцы, у вас есть мнение о том, что является нормальным и обычным. Не использует ли операционная система вариант 1 для всех встроенных диалогов? Почему приложение всегда хотело бы сделать что-то другое? –
@CodyGray Если пользователь использует вариант 1 версии справа налево, это абсолютно необходимо. Но для людей, которые используют левую-правую версию ОС с закрывающей кнопкой слева, действительно раздражает. В настоящее время в Иране большинство пользователей используют ОС с настройками в США и обычно предпочитают вариант 2. –