Thread.CurrentUICulture Thread.CurrentUICulture Thread.CurrentUICulture Thread.CurrentUICulture Property

Definition

Ruft die aktuelle Kultur ab, mit deren Hilfe der Ressourcen-Manager zur Laufzeit kulturabhängige Ressourcen sucht, oder legt diese fest.Gets or sets the current culture used by the Resource Manager to look up culture-specific resources at run time.

public:
 property System::Globalization::CultureInfo ^ CurrentUICulture { System::Globalization::CultureInfo ^ get(); void set(System::Globalization::CultureInfo ^ value); };
public System.Globalization.CultureInfo CurrentUICulture { get; set; }
member this.CurrentUICulture : System.Globalization.CultureInfo with get, set
Public Property CurrentUICulture As CultureInfo

Eigenschaftswert

Ein Objekt, das die aktuelle Kultur darstellt.An object that represents the current culture.

Ausnahmen

Die Eigenschaft ist auf null festgelegt.The property is set to null.

Die Eigenschaft ist auf einen Kulturnamen festgelegt, der nicht zum Suchen einer Ressourcendatei verwendet werden kann.The property is set to a culture name that cannot be used to locate a resource file. Ressourcendateinamen dürfen nur Buchstaben, Zahlen, Bindestriche oder Unterstriche enthalten.Resource filenames must include only letters, numbers, hyphens or underscores.

Nur .NET Core: Das Lesen oder Schreiben der Kultur eines Threads von einem anderen Thread wird nicht unterstützt..NET Core only: Reading or writing the culture of a thread from another thread is not supported.

Beispiele

Im folgenden Beispiel wird bestimmt, ob die Sprache der Benutzeroberflächen Kultur des aktuellen Threads Französisch ist.The following example determines whether the language of the current thread's UI culture is French. Wenn dies nicht der Fall ist, wird die Benutzeroberflächen Kultur des aktuellen Threads auf Englisch (USA) festgelegt.If it is not, it sets the UI culture of the current thread to English (United States).

using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      // Change the current culture if the language is not French.
      CultureInfo current = Thread.CurrentThread.CurrentUICulture;
      if (current.TwoLetterISOLanguageName != "fr") {
         CultureInfo newCulture = CultureInfo.CreateSpecificCulture("en-US");
         Thread.CurrentThread.CurrentUICulture = newCulture;
         // Make current UI culture consistent with current culture.
         Thread.CurrentThread.CurrentCulture = newCulture;
      }
      Console.WriteLine("The current UI culture is {0} [{1}]",
                        Thread.CurrentThread.CurrentUICulture.NativeName,
                        Thread.CurrentThread.CurrentUICulture.Name);
      Console.WriteLine("The current culture is {0} [{1}]",
                        Thread.CurrentThread.CurrentUICulture.NativeName,
                        Thread.CurrentThread.CurrentUICulture.Name);
   }
}
// The example displays the following output:
//     The current UI culture is English (United States) [en-US]
//     The current culture is English (United States) [en-US]
Imports System.Globalization
Imports System.Threading

Module Example
   Public Sub Main()
      ' Change the current culture if the language is not French.
      Dim current As CultureInfo = Thread.CurrentThread.CurrentUICulture
      If current.TwoLetterISOLanguageName <> "fr" Then
         Dim newCulture As CultureInfo = CultureInfo.CreateSpecificCulture("en-US")
         Thread.CurrentThread.CurrentUICulture = newCulture
         ' Make current UI culture consistent with current culture.
         Thread.CurrentThread.CurrentCulture = newCulture
      End If
      Console.WriteLine("The current UI culture is {0} [{1}]",
                        Thread.CurrentThread.CurrentUICulture.NativeName,
                        Thread.CurrentThread.CurrentUICulture.Name)
      Console.WriteLine("The current culture is {0} [{1}]",
                        Thread.CurrentThread.CurrentUICulture.NativeName,
                        Thread.CurrentThread.CurrentUICulture.Name)
   End Sub
End Module
' The example displays output like the following:
'     The current UI culture is English (United States) [en-US]
'     The current culture is English (United States) [en-US]

Das folgende Codebeispiel zeigt die Threading-Anweisung, mit der die Benutzeroberfläche einer Windows Forms in der in der Systemsteuerung festgelegten Kultur angezeigt werden kann.The following code example shows the threading statement that allows the user interface of a Windows Forms to display in the culture that is set in Control Panel. Zusätzlicher Code ist erforderlich.Additional code is needed.

#using <system.dll>
#using <System.Drawing.dll>
#using <system.windows.forms.dll>

using namespace System;
using namespace System::Threading;
using namespace System::Windows::Forms;
ref class UICulture: public Form
{
public:
   UICulture()
   {
      
      // Set the user interface to display in the
      // same culture as that set in Control Panel.
      Thread::CurrentThread->CurrentUICulture = Thread::CurrentThread->CurrentCulture;
      
      // Add additional code.
   }
};


int main()
{
   Application::Run( gcnew UICulture );
}
using System;
using System.Threading;
using System.Windows.Forms;

class UICulture : Form
{
    public UICulture()
    {
        // Set the user interface to display in the
        // same culture as that set in Control Panel.
        Thread.CurrentThread.CurrentUICulture = 
            Thread.CurrentThread.CurrentCulture;

        // Add additional code.
    }

    static void Main()
    {
        Application.Run(new UICulture());
    }
}
Imports System.Threading
Imports System.Windows.Forms

Public Class UICulture : Inherits Form
    Sub New()

        ' Set the user interface to display in the
        ' same culture as that set in Control Panel.
        Thread.CurrentThread.CurrentUICulture = _
            Thread.CurrentThread.CurrentCulture

        ' Add additional code.
    End Sub

    Shared Sub Main()
        Application.Run(New UICulture())
    End Sub
End Class

Hinweise

Die Benutzeroberflächen Kultur gibt die Ressourcen an, die eine Anwendung benötigt, um Benutzereingaben und-Ausgaben zu unterstützen, und ist standardmäßig identisch mit der Kultur des Betriebssystems.The UI culture specifies the resources an application needs to support user input and output, and by default is the same as the operating system culture. In der CultureInfo -Klasse finden Sie Informationen zu Kultur Namen und bezeichnerbezeichner, den Unterschieden zwischen invarianten, neutralen und bestimmten Kulturen sowie die Art und Weise, in der sich Kultur Informationen auf Threads und Anwendungs Domänen auswirken.See the CultureInfo class to learn about culture names and identifiers, the differences between invariant, neutral, and specific cultures, and the way culture information affects threads and application domains. Informationen dazu CultureInfo.CurrentUICulture , wie die Standardbenutzer Oberflächen Kultur eines Threads bestimmt wird, finden Sie unter der-Eigenschaft.See the CultureInfo.CurrentUICulture property to learn how a thread's default UI culture is determined.

Wichtig

Die CurrentUICulture -Eigenschaft funktioniert nicht zuverlässig, wenn Sie mit einem anderen Thread als dem aktuellen Thread verwendet wird.The CurrentUICulture property doesn't work reliably when used with any thread other than the current thread. In .NET Framework ist das Lesen der Eigenschaft zuverlässig, auch wenn Sie für einen anderen Thread als den aktuellen Thread festgelegt wird.In .NET Framework, reading the property is reliable, although setting it for a thread other than the current thread is not. In .net Core wird eine InvalidOperationException ausgelöst, wenn ein Thread versucht, die CurrentUICulture Eigenschaft in einem anderen Thread zu lesen oder zu schreiben.On .NET Core, an InvalidOperationException is thrown if a thread attempts to read or write the CurrentUICulture property on a different thread. Es wird empfohlen, dass Sie CultureInfo.CurrentUICulture die-Eigenschaft verwenden, um die aktuelle Kultur abzurufen und festzulegen.We recommend that you use the CultureInfo.CurrentUICulture property to retrieve and set the current culture.

Die CultureInfo von dieser Eigenschaft zurückgegebene kann eine neutrale Kultur sein.The CultureInfo returned by this property can be a neutral culture. Neutrale Kulturen sollten nicht mit Formatierungs Methoden wie String.Format(IFormatProvider, String, Object[]), DateTime.ToString(String, IFormatProvider)und Convert.ToString(Char, IFormatProvider)verwendet werden.Neutral cultures should not be used with formatting methods such as String.Format(IFormatProvider, String, Object[]), DateTime.ToString(String, IFormatProvider), and Convert.ToString(Char, IFormatProvider). Verwenden Sie CultureInfo.CreateSpecificCulture die-Methode, um eine bestimmte Kultur zu erhalten CurrentCulture , oder verwenden Sie die-Eigenschaft.Use the CultureInfo.CreateSpecificCulture method to get a specific culture, or use the CurrentCulture property.

Hinweis

CultureInfo.CreateSpecificCulture DieArgumentException Methode löst für die neutralen Kulturen "zh-Hant" ("zh-CHT") und "zh-Hans" ("zh-CHS") aus.The CultureInfo.CreateSpecificCulture method throws ArgumentException for the neutral cultures "zh-Hant" ("zh-CHT") and "zh-Hans" ("zh-CHS").

Gilt für: