Sdílet prostřednictvím


Obousměrná podpora pro formulářové aplikace Windows

Visual Studio můžete použít k vytváření aplikací založených na Windows, které podporují obousměrné jazyky (zprava doleva), jako je arabština a hebrejština. To zahrnuje standardní formuláře, dialogová okna, formuláře MDI a všechny ovládací prvky, se kterými můžete v těchto formulářích pracovat – to znamená všechny objekty v Control oboru názvů.

Podpora jazykové verze

Nastavení jazykové verze a jazykové verze uživatelského rozhraní určují, jak aplikace funguje s daty, časy, měnou a dalšími informacemi. Podpora jazykové verze a jazykové verze uživatelského rozhraní je stejná pro obousměrné jazyky jako pro všechny ostatní jazyky. Další informace naleznete v tématu Třídy specifické pro jazykovou verzi pro globální formuláře Windows a webové formuláře.

RightToLeft a RightToLeftLayout – vlastnosti

Základní Control třída, ze které formuláře odvozují, obsahuje RightToLeft vlastnost, kterou můžete nastavit pro změnu pořadí čtení formuláře a jeho ovládacích prvků. Pokud nastavíte vlastnost formuláře RightToLeft , ve výchozím nastavení ovládací prvky ve formuláři toto nastavení dědí. Vlastnost však můžete nastavit RightToLeft také jednotlivě u většiny ovládacích prvků. Viz také Postupy: Zobrazení textu zprava doleva v model Windows Forms pro globalizaci.

Účinek RightToLeft vlastnosti se může lišit od jednoho ovládacího prvku k druhému. V některých ovládacích prvcích vlastnost nastaví pouze pořadí čtení, jako v ButtonTreeView a ToolTip ovládacích prvcích. V jiných ovládacích prvcích změní RightToLeft vlastnost pořadí čtení i rozložení. To zahrnuje ovládací prvky RadioButtonComboBox a CheckBox ovládací prvky. Jiné ovládací prvky vyžadují, aby RightToLeftLayout vlastnost byla použita pro zrcadlení rozložení zprava doleva. Následující tabulka obsahuje podrobnosti o tom, jak RightToLeft ovlivňují jednotlivé ovládací prvky model Windows Forms a RightToLeftLayout vlastnosti.

Řízení/komponenta Efekt vlastnosti RightToLeft Efekt Vlastnosti RightToLeftLayout Vyžaduje zrcadlení?
Button Nastaví pořadí čtení RTL. Obrácení TextAlign, ImageAligna TextImageRelation Žádný vliv No
CheckBox Zaškrtávací políčko se zobrazí na pravé straně textu. Žádný vliv No
CheckedListBox Všechna zaškrtávací políčka se zobrazují na pravé straně textu. Žádný vliv No
ColorDialog Ovlivněno; závisí na jazyce operačního systému. Žádný vliv No
ComboBox Položky v ovládacím prvku pole se seznamem jsou zarovnané doprava Žádný vliv No
ContextMenu Zobrazí se doprava zarovnané s pořadím čtení RTL. Žádný vliv No
DataGrid Zobrazí se doprava zarovnané s pořadím čtení RTL. Žádný vliv No
DataGridView Ovlivňuje pořadí čtení RTL i rozložení ovládacího prvku. Žádný vliv No
DateTimePicker Ovlivněno; závisí na jazyce operačního systému. Zrcadlí ovládací prvek. Ano
DomainUpDown Tlačítka nahoru a dolů zarovná doleva. Žádný vliv No
ErrorProvider Nepodporováno Žádný vliv No
FontDialog Závisí na jazyce operačního systému. Žádný vliv No
Form Nastaví pořadí čtení RTL a obrácené posuvníky. Zrcadlí formulář. Ano
GroupBox Popis je zarovnaná doprava. Podřízené ovládací prvky mohou dědit tuto vlastnost. TableLayoutPanel Použití uvnitř ovládacího prvku pro podporu zrcadlení zprava doleva No
HScrollBar Začíná posuvníkem (palcem) zarovnaným doprava. Žádný vliv No
ImageList Nepovinné Žádný vliv No
Label Zobrazí se zarovnané doprava. Obrácení a obrácení TextAlignImageAlign Žádný vliv No
LinkLabel Zobrazí se zarovnané doprava. Obrácení a obrácení TextAlignImageAlign Žádný vliv No
ListBox Položky jsou zarovnané doprava Žádný vliv No
ListView Nastaví pořadí čtení na rtL; prvky zůstanou zarovnané doleva Zrcadlí ovládací prvek. Ano
MainMenu Zobrazená doprava zarovnaná s pořadím čtení RTL za běhu (ne v době návrhu) Žádný vliv No
MaskedTextBox Zobrazí text zprava doleva. Žádný vliv No
MonthCalendar Ovlivněno; závisí na jazyce operačního systému. Zrcadlí ovládací prvek. Ano
NotifyIcon Nepodporováno Nepodporováno No
NumericUpDown Tlačítka nahoru a dolů jsou zarovnaná doleva Žádný vliv No
OpenFileDialog V operačních systémech se zprava doleva nastaví vlastnost obsahující formulář RightToLeft tak, aby se RightToLeft.Yes dialog lokalizoval. Žádný vliv No
PageSetupDialog Ovlivněno; závisí na jazyce operačního systému. Žádný vliv No
Panel Podřízené ovládací prvky mohou tuto vlastnost dědit. Použití TableLayoutPanel v ovládacím prvku pro podporu zprava doleva Ano
PictureBox Nepodporováno Žádný vliv No
PrintDialog Ovlivněno; závisí na jazyce operačního systému. Žádný vliv No
PrintDocument Svislý posuvník se zarovná doleva a vodorovný posuvník začíná odleva. Žádný vliv No
PrintPreviewDialog Nepodporováno Nepodporováno No
ProgressBar Tato vlastnost nemá vliv Zrcadlí ovládací prvek. Ano
RadioButton Přepínač se zobrazí na pravé straně textu. Žádný vliv No
RichTextBox Ovládací prvky, které obsahují text, se zobrazují zprava doleva pomocí pořadí čtení RTL. Žádný vliv No
SaveFileDialog Ovlivněno; závisí na jazyce operačního systému. Žádný vliv No
SplitContainer Rozložení panelu je obrácené; svislý posuvník se zobrazí vlevo; Vodorovný posuvník začíná od pravého TableLayoutPanel Použití k zrcadlení pořadí podřízených ovládacích prvků No
Splitter Nepodporováno Žádný vliv No
StatusBar Nepodporováno; místo toho použít StatusStrip Žádný účinek; místo toho použít StatusStrip No
TabControl Tato vlastnost není ovlivněna Zrcadlí ovládací prvek. Ano
TextBox Zobrazí text zprava doleva s pořadím čtení RTL. Žádný vliv No
Timer Nepovinné Nepovinné No
ToolBar Tato vlastnost není ovlivněna; místo toho použít ToolStrip Žádný účinek; místo toho použít ToolStrip Ano
ToolTip Nastaví pořadí čtení VE formátu RTL. Žádný vliv No
TrackBar Posouvání nebo dráha začíná od pravého; když Orientation je svislý, klíště se vyskytují zprava Žádný vliv No
TreeView Nastaví pouze pořadí čtení ve formátu RTL. Zrcadlí ovládací prvek. Ano
UserControl Svislý posuvník se zobrazí vlevo; vodorovný posuvník má palec vpravo Žádná přímá podpora; použít TableLayoutPanel No
VScrollBar Zobrazí se na levé straně místo pravé strany posuvných ovládacích prvků. Žádný vliv No

Kódování

model Windows Forms podporuje Unicode, takže při vytváření obousměrných aplikací můžete zahrnout libovolnou znakovou sadu. Ne všechny ovládací prvky model Windows Forms však podporují kódování Unicode na všech platformách.

GDI+

Pomocí GDI+ můžete nakreslit text s pořadím čtení zprava doleva. Metoda DrawString , která se používá k kreslení textu, podporuje StringFormat parametr, který můžete nastavit na DirectionRightToLeft člen výčtu StringFormatFlags , aby bylo možné obrátit bod původu textu.

Běžná dialogová okna

Systémové nástroje, jako je dialogové okno Otevřít soubor, jsou pod kontrolou Systému Windows. Dědí prvky jazyka z operačního systému. Pokud používáte verzi Windows se správným nastavením jazyka, budou tato dialogová okna správně fungovat s obousměrnými jazyky.

Podobně pole zpráv procházejí operačním systémem a podporují obousměrný text. Popis tlačítek v poli se zprávou jsou založeny na aktuálním nastavení jazyka. Ve výchozím nastavení pole zpráv nepoužívají pořadí čtení zprava doleva, ale při zobrazení polí zpráv můžete zadat parametr, který změní pořadí čtení.

RightToLeft, Posuvníky a ScrollableControl

V současné době existuje omezení v model Windows Forms, které brání všem třídám odvozeným z toho, aby ScrollableControl správně fungovaly, pokud RightToLeft je povolena a AutoScroll je nastavena na Yes. Řekněme například, že do formuláře umístíte ovládací prvek , například Paneltřídu kontejneru odvozenou z Panel formuláře (například FlowLayoutPanel nebo TableLayoutPanel)). Pokud jste v kontejneru nastavili Yes a pak nastavili AnchorAutoScroll vlastnost u jednoho nebo více ovládacích prvků uvnitř kontejneru na Right, pak se nikdy nezobrazí žádný posuvník. Třída odvozená z ScrollableControl aktů, jako by AutoScroll byla nastavena na No.

Jediným alternativním řešením je vnoření uvnitř ScrollableControl jiné ScrollableControl. Pokud například potřebujete TableLayoutPanel pracovat v této situaci, můžete ho Panel umístit do ovládacího prvku a nastavit AutoScroll na Panel hodnotu Yes.

Zrcadlení

Zrcadlení odkazuje na vrácení rozložení prvků uživatelského rozhraní tak, aby tok zprava doleva. V zrcadleném formuláři Windows Form se například tlačítka Minimalizovat, Maximalizovat a Zavřít zobrazují úplně vlevo na záhlaví, ne úplně vpravo.

Nastavení vlastnosti formuláře nebo ovládacího prvku RightToLeft pro true obrácení pořadí čtení prvků ve formuláři, ale toto nastavení nevrátí rozložení zprava doleva – to znamená, že nezpůsobí zrcadlení. Například nastavení této vlastnosti nepřesune tlačítka Minimalizovat, Maximalizovat a Zavřít v záhlaví formuláře na levou stranu formuláře. Podobně některé ovládací prvky, například TreeView ovládací prvek, vyžadují zrcadlení, aby jejich zobrazení bylo vhodné pro arabštinu nebo hebrejštinu. Tyto ovládací prvky můžete zrcadlit nastavením RightToLeftLayout vlastnosti.

Můžete vytvořit zrcadlené verze následujících ovládacích prvků:

Některé ovládací prvky jsou zapečetěné. Proto z nich nelze odvodit nový ovládací prvek. Patří mezi ImageList ně ovládací prvky a ProgressBar ovládací prvky.

Viz také