Изменить макет пользовательского элемента управления C # в разработке форм Windows - PullRequest
1 голос
/ 23 марта 2012

У меня есть пользовательский элемент управления, который содержит несколько элементов управления (CheckBox, Button, Label ...).Я хочу изменить макет этого пользовательского элемента управления для поддержки языков справа налево, но не могу найти, как это сделать.

В настоящее время я могу изменить выравнивание элементов управления, используя свойство RightToLeft.Но как я могу изменить их позиции?

Спасибо за ваше время.

Ответы [ 4 ]

2 голосов
/ 26 марта 2012

Спасибо, ребята, за ваши ответы, но есть лучший способ сделать это.

Сначала мы переходим к свойствам пользовательского элемента управления и выбираем свойство языка.
После изменения его на другой язык будет создан новый файл ресурсов для пользовательского элемента управления.
После этого, используя конструктор, мы можем изменять позиции элементов управления в пользовательском элементе управления так, как нам нравится. Новые значения будут сохранены в созданном файле ресурсов.
Когда язык изменился, будет загружен соответствующий файл ресурсов, и позиции будут изменены.
Если язык справа налево, не забудьте указать свойство справа налево для элементов управления.

Надеюсь, это поможет.

2 голосов
0 голосов
/ 23 марта 2012

Зеркальное отображение пользовательских элементов управления не поддерживается для пользовательских элементов управления, см. Эту статью о подключении: http://connect.microsoft.com/VisualStudio/feedback/details/121202/usercontrol-mirroring-is-not-inherited-from-the-form

Предложенный обходной путь - использовать панель макета таблицы, которая будет отображать элементы управления справа налево.

0 голосов
/ 23 марта 2012

Попробуйте использовать FlowLayoutPanel или TableLayoutPanel для удержания ваших элементов управления и изменения панелей RightToLeft свойство

...