Windows Forms Uygulamalarında İki Yönlü Destek

Arapça ve İbranice Visual Studio iki yönlü (sağdan sola) dilleri destekleyen Windows tabanlı uygulamalar oluşturmak için Visual Studio'i kullanabilirsiniz. Buna standart formlar, iletişim kutuları, MDI formları ve bu formlarda çalışabilirsiniz tüm denetimler (yani ad alanı nesneleri) Control dahildir.

Kültür Desteği

Kültür ve kullanıcı arabirimi kültür ayarları bir uygulamanın tarihler, saat, para birimi ve diğer bilgilerle nasıl çalıştığını belirler. Kültür ve kullanıcı arabirimi kültürü desteği, diğer dillerde olduğu gibi çift yönlü diller için de aynıdır. Daha fazla bilgi için bkz. Genel veri formları ve web Windows kültüre özgü sınıflar.

RightToLeft ve RightToLeftLayout Özellikleri

Formların türetilen temel sınıfı, bir formun ve denetimlerinin okuma sıralamasını değiştirmek ControlRightToLeft için ayarlandırabilirsiniz bir özellik içerir. Formun özelliğini RightToLeft ayarlarsanız, formda varsayılan olarak denetimler bu ayarı devralın. Ancak, özelliği çoğu RightToLeft denetimde ayrı ayrı da ayarlayabilirsiniz. Ayrıca bkz. Genelleştirme için Formlarda Sağdan Sola Windows Görüntüleme.

Özelliğin etkisi RightToLeft bir denetimden diğerine farklılık gösterebilir. Bazı denetimlerde özelliği, ve denetimlerde olduğu gibi yalnızca okuma ButtonTreeView sıralamalarını ToolTip ayarlar. Diğer denetimlerde özelliği RightToLeft hem okuma düzenini hem de düzeni değiştirir. Bu , RadioButton ve ComboBox denetimlerini CheckBox içerir. Diğer denetimler, RightToLeftLayout sağdan sola doğru düzenini yansıtmak için özelliğinin uygulanması gerekir. Aşağıdaki tabloda ve özelliklerinin tek tek Form RightToLeftRightToLeftLayout denetimlerinin nasıl etkilediğine Windows ve ve bilgileri ve sağlar.

Denetim/Bileşen RightToLeft özelliğinin etkisi RightToLeftLayout özelliğinin etkisi Yansıtma mı gerekir?
Button RTL okuma sırası ayarlar. , TextAlignImageAlign ve 'i tersine çevirme TextImageRelation Etki yok Hayır
CheckBox Onay kutusu metnin sağ tarafında görüntülenir Etki yok Hayır
CheckedListBox Tüm onay kutuları metnin sağ tarafında görüntülenir Etki yok Hayır
ColorDialog Etkilenmez; işletim sisteminin diline bağlıdır Etki yok Hayır
ComboBox Birleşik giriş kutusu denetiminde öğeler sağa hizalanmış Etki yok Hayır
ContextMenu RTL okuma sırasıyla sağa hizalanmış olarak görünür Etki yok Hayır
DataGrid RTL okuma sırasıyla sağa hizalanmış olarak görünür Etki yok Hayır
DataGridView RtL okuma düzenini ve denetim düzenini etkiler Etki yok Hayır
DateTimePicker Etkilenmez; işletim sisteminin diline bağlıdır Denetimi yansıtıyor Yes
DomainUpDown Yukarı ve aşağı düğmeleri sola hizalar Etki yok Hayır
ErrorProvider Desteklenmez Etki yok Hayır
FontDialog İşletim sisteminin diline bağlıdır Etki yok Hayır
Form RTL okuma sırası ayarlar ve kaydırma çubuklarını tersine çevirme Formu yansıtıyor Yes
GroupBox Açıklamalı alt yazı sağa hizalanmış olarak görüntülenir. Alt denetimler bu özelliği devralabilir. Sağdan TableLayoutPanel sola yansıtma desteği için denetimin içinde bir kullanın Hayır
HScrollBar Kaydırma kutusu (başparmak) sağa hizalanmış şekilde başlar Etki yok Hayır
ImageList Gerekli değil Etki yok Hayır
Label Sağa hizalanmış olarak görüntülenir. Ters TextAlign çevirmeler ve ImageAlign Etki yok Hayır
LinkLabel Sağa hizalanmış olarak görüntülenir. Ters TextAlign çevirmeler ve ImageAlign Etki yok Hayır
ListBox Öğeler sağa hizalanmış Etki yok Hayır
ListView Okuma sıralamayı RTL olarak ayarlar; öğeler sola hizalı kalır Denetimi yansıtıyor Yes
MainMenu Çalışma zamanında RTL okuma sırasıyla (tasarım zamanında değil) sağa hizalanmış olarak görüntülenir Etki yok Hayır
MaskedTextBox Sağdan sola metni görüntüler. Etki yok Hayır
MonthCalendar Etkilenmez; işletim sisteminin diline bağlıdır Denetimi yansıtıyor Yes
NotifyIcon Desteklenmez Desteklenmez Hayır
NumericUpDown Yukarı ve aşağı düğmeler sola hizalanır Etki yok Hayır
OpenFileDialog Sağdan sola işletim sistemlerinde, içeren formun özelliğini iletişim kutusunu yerelleştirmek RightToLeftRightToLeft.Yes için ayarlama Etki yok Hayır
PageSetupDialog Etkilenmez; işletim sisteminin diline bağlıdır Etki yok Hayır
Panel Alt denetimler bu özelliği devralabilir Sağdan TableLayoutPanel sola destek için denetimin içinde kullanın Yes
PictureBox Desteklenmez Etki yok Hayır
PrintDialog Etkilenmez; işletim sisteminin diline bağlıdır Etki yok Hayır
PrintDocument Dikey kaydırma çubuğu sola hizalanır ve yatay kaydırma çubuğu soldan başlar Etki yok Hayır
PrintPreviewDialog Desteklenmez Desteklenmez Hayır
ProgressBar Bu özellik tarafından etkilemez Denetimi yansıtıyor Yes
RadioButton Radyo düğmesi metnin sağ tarafında görüntülenir Etki yok Hayır
RichTextBox Metin içeren denetim öğeleri RTL okuma sırasıyla sağdan sola görüntülenir Etki yok Hayır
SaveFileDialog Etkilenmez; işletim sisteminin diline bağlıdır Etki yok Hayır
SplitContainer Panel düzeni tersine çevrilir; sol tarafta dikey kaydırma çubuğu görünür; yatay kaydırma çubuğu sağdan başlar Alt TableLayoutPanel denetimlerin sıralamasını yansıtmak için kullanma Hayır
Splitter Desteklenmez Etki yok Hayır
StatusBar Desteklenmiyor; bunun StatusStrip yerine kullanın Hiçbir etkisi yoktur; bunun StatusStrip yerine kullanın Hayır
TabControl Bu özellikten etkilenmez Denetimi yansıtıyor Yes
TextBox RTL okuma sırasıyla sağdan sola metin görüntüler Etki yok Hayır
Timer Gerekli değil Gerekli değil Hayır
ToolBar Bu özellikten etkilenmez; bunun ToolStrip yerine kullanın Hiçbir etkisi yoktur; bunun ToolStrip yerine kullanın Yes
ToolTip RTL okuma sırası ayarlar Etki yok Hayır
TrackBar Kaydırma veya izleme sağdan başlar; dikey Orientation olduğunda, tıklar sağdan oluşur Etki yok Hayır
TreeView Yalnızca RTL okuma sırası ayarlar Denetimi yansıtıyor Yes
UserControl Sol tarafta dikey kaydırma çubuğu görünür; yatay kaydırma çubuğunun sağda başparmak var Doğrudan destek yoktur; bir kullanın TableLayoutPanel Hayır
VScrollBar Kaydırılabilir denetimlerin sağ tarafı yerine sol tarafta görüntülenir Etki yok Hayır

Encoding

Windows Formlar Unicode'u destekler, bu nedenle çift yönlü uygulamalarınızı oluşturmada herhangi bir karakter kümesi dahil etmek için. Ancak, tüm Windows Forms denetimleri tüm platformlarda Unicode'u desteklemez.

GDI+

Metinleri GDI+ okuma sırasıyla çizmek için kullanabilirsiniz. Metin çizmek için kullanılan yöntemi, metnin çıkış noktasını ters çevirmek için numaralamanın üyesine ayarlandırarak bir DrawStringStringFormatDirectionRightToLeftStringFormatFlags parametreyi destekler.

Ortak İletişim Kutuları

Dosya Aç iletişim kutusu gibi sistem araçları, dosya Windows. Dil öğelerini işletim sisteminden devralabilir. Doğru dil ayarlarıyla Windows bir sürüm kullanıyorsanız, bu iletişim kutuları çift yönlü dillerle doğru şekilde çalışır.

Benzer şekilde, ileti kutuları işletim sisteminden geçerek çift yönlü metni destekler. İleti kutusu düğmeleri üzerindeki açıklamalı alt yazılar geçerli dil ayarını temel alır. Varsayılan olarak, ileti kutuları sağdan sola okuma sırası kullanmaz, ancak ileti kutuları görüntülendiğinde okuma sıralamalarını değiştirmek için bir parametre belirtebilirsiniz.

RightToLeft, Scrollbars ve ScrollableControl

Şu anda form formlarında Windows sınıfların her ikisi de etkinleştirildiğinde ve olarak ayarlanmış olduğunda düzgün davranmasını engelleyen ScrollableControlRightToLeft bir sınırlama AutoScrollYes vardır. Örneğin, form üzerinde gibi bir denetim veya 'den türetilen bir kapsayıcı sınıfı PanelPanel (veya FlowLayoutPanelTableLayoutPanel gibi) gibi bir denetime sahip olduğunu diyelim. Kapsayıcıda olarak ayarlanır ve ardından kapsayıcının içindeki denetimlerin bir veya daha fazlası için özelliğini olarak ayarlarsanız AutoScrollYes hiçbir kaydırma çubuğu AnchorRight görünür. sınıfından ScrollableControl türetilen sınıfı olarak ayarlanmış gibi AutoScrollNo davranır.

Şu anda tek geçici çözüm, başka bir içinde ScrollableControl iç içe ScrollableControl yerleştirmedir. Örneğin, bu durumda çalışmalısanız denetimin içine yer ve TableLayoutPanelPanel olarak AutoScrollPanelYes ayarlanmıştır.

Yansıtma

Yansıtma, kullanıcı arabirimi öğelerinin düzenini, sağdan sola doğru akacak şekilde ters çevirmeyi ifade eder. Yansıtılmış bir Windows Form'da, örneğin Simge durumuna Küçült, Ekranı Kapla ve Kapat düğmeleri başlık çubuğunda en sol tarafta görünür, en sağa değil.

Bir formun veya denetimin özelliğini bir formdaki öğelerin okuma düzenini tersine çeviren şekilde ayarlama, ancak bu ayar düzeni sağa sola doğru çevirmez; başka bir şekilde RightToLefttrue yansıtmaya neden olmaz. Örneğin, bu özelliğin ayarı formun başlık çubuğundaki Simge durumuna küçült ,EkranıKapla ve Kapat düğmelerini formun sol tarafına taşımaz. Benzer şekilde, denetim gibi bazı denetimler, görüntülemelerini Arapça veya İbranice'ye uygun olacak şekilde değiştirmek TreeView için yansıtma gerektirir. Bu denetimleri özelliği ayarlarına göre RightToLeftLayout yansıtabilirsiniz.

Aşağıdaki denetimlerin yansıtılmış sürümlerini oluşturabilirsiniz:

Bazı denetimler korumalıdır. Bu nedenle, bunlardan yeni bir denetim türetmezsiniz. Bunlar ve ImageList denetimlerini ProgressBar içerir.

Ayrıca bkz.