Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können Visual Studio verwenden, um Windows-basierte Anwendungen zu erstellen, die bidirektionale Sprachen (von rechts nach links) unterstützen, z. B. Arabisch und Hebräisch. Dazu gehören Standardformulare, Dialogfelder, MDI-Formulare und alle Steuerelemente, mit denen Sie in diesen Formularen arbeiten können, d. h. alle Objekte im Control Namespace.
Kulturunterstützung
Kultur- und Benutzeroberflächenkultureinstellungen bestimmen, wie eine Anwendung mit Datumsangaben, Uhrzeiten, Währungen und anderen Informationen funktioniert. Die Unterstützung für Kultur und UI-Kultur ist für bidirektionale Sprachen identisch wie für alle anderen Sprachen. Weitere Informationen finden Sie unter Kulturspezifische Klassen für globale Windows-Formulare und Webformulare.
RightToLeft- und RightToLeftLayout-Eigenschaft
Die Basisklasse Control , von der Formulare abgeleitet werden, enthält eine RightToLeft Eigenschaft, die Sie festlegen können, um die Lesereihenfolge eines Formulars und dessen Steuerelemente zu ändern. Wenn Sie die Eigenschaft des Formulars RightToLeft festlegen, erben standardmäßig Steuerelemente im Formular diese Einstellung. Sie können jedoch die RightToLeft Eigenschaft auch einzeln auf den meisten Steuerelementen festlegen. Weitere Informationen finden Sie unter Wie man Text von rechts nach links in Windows Forms für die Globalisierung darstellt.
Der Effekt der RightToLeft Eigenschaft kann sich von einem Steuerelement zu einem anderen unterscheiden. In einigen Steuerelementen legt die Eigenschaft nur die Lesereihenfolge fest, wie in den Steuerelementen Button, TreeView und ToolTip. In anderen Steuerelementen ändert die RightToLeft Eigenschaft sowohl die Leserichtung als auch das Layout. Dazu gehören die Steuerelemente RadioButton, ComboBox und CheckBox. Andere Steuerelemente erfordern, dass die RightToLeftLayout Eigenschaft auf die Spiegelung des Layouts von rechts nach links angewendet wird. Die folgende Tabelle enthält Details dazu, wie sich die RightToLeft und RightToLeftLayout Eigenschaften auf einzelne Windows Forms-Steuerelement auswirken.
| Steuerelement/Komponente | Auswirkung der RightToLeft-Eigenschaft | Der Effekt der RightToLeftLayout-Eigenschaft | Erfordert Spiegelung? |
|---|---|---|---|
| Button | Legt die Lesereihenfolge für RTL fest. Kehrt TextAlign, ImageAlign und TextImageRelation um | Keine Auswirkungen | Nein |
| CheckBox | Das Kontrollkästchen wird auf der rechten Seite des Texts angezeigt. | Keine Auswirkungen | Nein |
| CheckedListBox | Alle Kontrollkästchen werden auf der rechten Seite des Texts angezeigt. | Keine Auswirkungen | Nein |
| ColorDialog | Nicht betroffen; hängt von der Sprache des Betriebssystems ab. | Keine Auswirkungen | Nein |
| ComboBox | Elemente im Kombinationsfeld-Steuerelement sind rechtsbündig ausgerichtet. | Keine Auswirkungen | Nein |
| ContextMenu | Wird rechtsbündig mit der Lesereihenfolge von RECHTS angezeigt. | Keine Auswirkungen | Nein |
| DataGrid | Wird rechtsbündig mit der Lesereihenfolge von RECHTS angezeigt. | Keine Auswirkungen | Nein |
| DataGridView | Beeinflusst sowohl die RTL-Lesereihenfolge als auch das Steuerungslayout. | Keine Auswirkungen | Nein |
| DateTimePicker | Nicht betroffen; hängt von der Sprache des Betriebssystems ab. | Spiegelt das Steuerelement. | Ja |
| DomainUpDown | Richtet die Schaltflächen nach oben und unten links aus | Keine Auswirkungen | Nein |
| ErrorProvider | Nicht unterstützt | Keine Auswirkungen | Nein |
| FontDialog | Hängt von der Sprache des Betriebssystems ab. | Keine Auswirkungen | Nein |
| Form | Legt die Lesereihenfolge für RTL fest und kehrt die Richtung der Bildlaufleisten um. | Spiegelt das Formular wieder. | Ja |
| GroupBox | Die Beschriftung wird rechtsbündig angezeigt. Untergeordnete Steuerelemente können diese Eigenschaft erben. | Verwenden eines TableLayoutPanel Innerhalb des Steuerelements zur Unterstützung der Rechts-nach-links-Spiegelung | Nein |
| HScrollBar | Beginnt mit dem Bildlauffeld (Daumen) rechtsbündig | Keine Auswirkungen | Nein |
| ImageList | Nicht erforderlich | Keine Auswirkungen | Nein |
| Label | Rechtsbündig angezeigt. Kehrt TextAlign und ImageAlign um | Keine Auswirkungen | Nein |
| LinkLabel | Rechtsbündig angezeigt. Kehrt TextAlign und ImageAlign um | Keine Auswirkungen | Nein |
| ListBox | Elemente sind rechtsbündig ausgerichtet. | Keine Auswirkungen | Nein |
| ListView | Legt die Lesereihenfolge auf RTL fest; Elemente bleiben linksbündig ausgerichtet | Spiegelt das Steuerelement. | Ja |
| MainMenu | Rechtsbündig angezeigt mit der Lesereihenfolge von RTL zur Laufzeit (nicht zur Entwurfszeit) | Keine Auswirkungen | Nein |
| MaskedTextBox | Zeigt Text von rechts nach links an. | Keine Auswirkungen | Nein |
| MonthCalendar | Nicht betroffen; hängt von der Sprache des Betriebssystems ab. | Spiegelt das Steuerelement. | Ja |
| NotifyIcon | Nicht unterstützt | Nicht unterstützt | Nein |
| NumericUpDown | Die Schaltflächen nach oben und unten werden linksbündig ausgerichtet | Keine Auswirkungen | Nein |
| OpenFileDialog | In auf Rechts-nach-Links-ausgerichteten Betriebssystemen legen Sie die RightToLeft-Eigenschaft des enthaltenden Formulars fest, damit das Dialogfeld zu RightToLeft.Yes lokalisiert wird. | Keine Auswirkungen | Nein |
| PageSetupDialog | Nicht betroffen; hängt von der Sprache des Betriebssystems ab. | Keine Auswirkungen | Nein |
| Panel | Untergeordnete Steuerelemente können diese Eigenschaft erben | Verwenden Sie TableLayoutPanel innerhalb des Steuerelements zur Unterstützung von rechts nach links. | Ja |
| PictureBox | Nicht unterstützt | Keine Auswirkungen | Nein |
| PrintDialog | Nicht betroffen; hängt von der Sprache des Betriebssystems ab. | Keine Auswirkungen | Nein |
| PrintDocument | Die vertikale Bildlaufleiste wird linksbündig ausgerichtet, und die horizontale Bildlaufleiste beginnt von links | Keine Auswirkungen | Nein |
| PrintPreviewDialog | Nicht unterstützt | Nicht unterstützt | Nein |
| ProgressBar | Nicht von dieser Eigenschaft betroffen | Spiegelt das Steuerelement. | Ja |
| RadioButton | Das Optionsfeld wird auf der rechten Seite des Texts angezeigt. | Keine Auswirkungen | Nein |
| RichTextBox | Steuerelemente, die Text enthalten, werden von rechts nach links im rechten Lesefluss angezeigt. | Keine Auswirkungen | Nein |
| SaveFileDialog | Nicht betroffen; hängt von der Sprache des Betriebssystems ab. | Keine Auswirkungen | Nein |
| SplitContainer | Das Panel-Layout ist umgekehrt; die vertikale Bildlaufleiste erscheint links; die horizontale Bildlaufleiste beginnt von rechts. | Verwenden Sie ein TableLayoutPanel, um die Reihenfolge der untergeordneten Steuerelemente zu spiegeln. | Nein |
| Splitter | Nicht unterstützt | Keine Auswirkungen | Nein |
| StatusBar | Nicht unterstützt; stattdessen verwenden StatusStrip | Kein Effekt; stattdessen verwenden StatusStrip | Nein |
| TabControl | Nicht von dieser Eigenschaft betroffen | Spiegelt das Steuerelement. | Ja |
| TextBox | Zeigt Text von rechts nach links mit Rechts-nach-links-Lesereihenfolge an. | Keine Auswirkungen | Nein |
| Timer | Nicht erforderlich | Nicht erforderlich | Nein |
| ToolBar | Von dieser Eigenschaft nicht betroffen; stattdessen verwenden ToolStrip | Kein Effekt; stattdessen verwenden ToolStrip | Ja |
| ToolTip | Legt die Lesereihenfolge für RTL fest. | Keine Auswirkungen | Nein |
| TrackBar | Der Bildlauf oder die Spur beginnt von rechts; wenn Orientation vertikal ist, erscheinen Markierungen von rechts. | Keine Auswirkungen | Nein |
| TreeView | Legt die Lesereihenfolge nur für RTL fest. | Spiegelt das Steuerelement. | Ja |
| UserControl | Vertikale Bildlaufleiste wird links angezeigt; Horizontaler Bildlaufleiste mit Ziehpunkt rechts | Keine direkte Unterstützung; Verwenden Sie ein TableLayoutPanel | Nein |
| VScrollBar | Auf der linken Seite anstelle der rechten Seite der scrollbareren Steuerelemente angezeigt | Keine Auswirkungen | Nein |
Codierung
Windows Forms unterstützen Unicode, sodass Sie einen beliebigen Zeichensatz einschließen können, wenn Sie Ihre bidirektionalen Anwendungen erstellen. Nicht alle Windows Forms-Steuerelemente unterstützen Unicode auf allen Plattformen.
GDI+
Sie können GDI+ verwenden, um Text mit Leserichtung von rechts nach links zu zeichnen. Die DrawString Methode, die zum Zeichnen von Text verwendet wird, unterstützt einen StringFormat Parameter, den Sie auf das DirectionRightToLeft Element der StringFormatFlags Enumeration festlegen können, um den Ursprungspunkt für den Text umzukehren.
Allgemeine Dialogfelder
Systemtools wie das Dialogfeld "Datei öffnen" befinden sich unter der Kontrolle von Windows. Sie erben Sprachelemente vom Betriebssystem. Wenn Sie eine Windows-Version mit den richtigen Spracheinstellungen verwenden, funktionieren diese Dialogfelder ordnungsgemäß mit bidirektionalen Sprachen.
Auf ähnliche Weise durchlaufen Meldungsfelder das Betriebssystem und unterstützen bidirektionalen Text. Die Beschriftungen in Meldungsfeldschaltflächen basieren auf der aktuellen Spracheinstellung. Meldungsfelder verwenden standardmäßig keine Leserichtung von rechts nach links, sie können jedoch einen Parameter angeben, um die Leserichtung zu ändern, wenn die Meldungsfelder angezeigt werden.
RightToLeft, Scrollbars und ScrollableControl
Es gibt derzeit eine Einschränkung in Windows Forms, die verhindert, dass alle von ScrollableControl abgeleiteten Klassen ordnungsgemäß funktionieren, wenn RightToLeft aktiviert ist und AutoScroll auf Yes gesetzt ist. Angenommen, Sie platzieren ein Steuerelement, z Panel. B. eine von Ihrem Formular abgeleitete Panel Containerklasse (z FlowLayoutPanel . B. oder TableLayoutPanel). Wenn Sie auf dem Container AutoScroll festlegen und anschließend die Yes-Eigenschaft auf ein oder mehrere Steuerelemente innerhalb des Containers auf Anchor setzen, erscheint keine Bildlaufleiste. Die von ScrollableControl abgeleitete Klasse fungiert so, als wäre AutoScroll auf No gesetzt.
Derzeit besteht die einzige Problemumgehung darin, die ScrollableControl Innenseite zu ScrollableControlverschachteln. Wenn Sie z. B. TableLayoutPanel in dieser Situation benötigen, können Sie es innerhalb eines Panel-Steuerelements platzieren und AutoScroll im Panel auf Yes festlegen.
Spiegelung
Die Spiegelung bezieht sich auf das Umkehren des Layouts von UI-Elementen, sodass sie von rechts nach links fließen. In einem gespiegelten Windows Form werden beispielsweise die Schaltflächen "Minimieren", "Maximieren" und "Schließen" ganz links auf der Titelleiste angezeigt, nicht ganz rechts.
Wenn Sie die Eigenschaft RightToLeft für ein Formular oder Steuerelement auf true einstellen, wird dadurch die Lesereihenfolge der Elemente im Formular umgekehrt, aber das Layout wird nicht von rechts nach links umgekehrt, also verursacht diese Einstellung keine Spiegelung. Wenn Sie diese Eigenschaft beispielsweise festlegen, werden die Schaltflächen "Minimieren", "Maximieren" und "Schließen " in der Titelleiste des Formulars nicht auf die linke Seite des Formulars verschoben. Ebenso erfordern einige Steuerelemente, z. B. das TreeView Steuerelement, eine Spiegelung, um ihre Anzeige so zu ändern, dass sie für Arabisch oder Hebräisch geeignet ist. Sie können diese Steuerelemente spiegeln, indem Sie die RightToLeftLayout Eigenschaft festlegen.
Sie können gespiegelte Versionen der folgenden Steuerelemente erstellen:
Einige Steuerelemente sind versiegelt. Daher können Sie kein neues Steuerelement von ihnen ableiten. Dazu gehören die Steuerungselemente ImageList und ProgressBar.
Siehe auch
.NET Desktop feedback