Thread.CurrentUICulture Vlastnost

Definice

Získá nebo nastaví aktuální jazykovou verzi používanou Správce prostředků k vyhledání prostředků specifických pro jazykovou verzi za běhu.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

Hodnota vlastnosti

Objekt, který představuje aktuální jazykovou verzi.An object that represents the current culture.

Výjimky

Vlastnost je nastavena na null.The property is set to null.

Vlastnost je nastavena na název jazykové verze, který nelze použít k vyhledání souboru prostředků.The property is set to a culture name that cannot be used to locate a resource file. Názvy souborů prostředků musí obsahovat jenom písmena, číslice, spojovníky a podtržítka.Resource filenames must include only letters, numbers, hyphens or underscores.

Pouze .NET Core: čtení nebo zápis jazykové verze vlákna z jiného vlákna není podporováno..NET Core only: Reading or writing the culture of a thread from another thread is not supported.

Příklady

Následující příklad určuje, zda je jazyk jazykové verze aktuálního vlákna francouzština.The following example determines whether the language of the current thread's UI culture is French. Pokud není, nastaví jazykovou verzi uživatelského rozhraní aktuálního vlákna na angličtinu (USA).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]

Následující příklad kódu ukazuje příkaz vláken, který umožňuje zobrazení uživatelského rozhraní model Windows Forms v jazykové verzi, která je nastavena v Ovládacích panelech.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. Vyžaduje se další kód.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

Poznámky

Jazyková verze uživatelského rozhraní určuje prostředky, které aplikace potřebuje pro podporu vstupu a výstupu uživatele, a ve výchozím nastavení je stejná jako jazyková verze operačního systému.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. V tématu CultureInfo třídy se dozvíte o názvech a identifikátorech jazykové verze, rozdíl mezi neutrální, neutrální a konkrétní kulturou a způsob, jakým jsou informace o jazykové verzi ovlivněny vlákny a doménami aplikací.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. Informace o tom, jak se určuje výchozí jazyková verze uživatelského rozhraní vlákna, najdete v vlastnosti CultureInfo.CurrentUICulture.See the CultureInfo.CurrentUICulture property to learn how a thread's default UI culture is determined.

Důležité

Vlastnost CurrentUICulture nepracuje spolehlivě při použití s jakýmkoli jiným vláknem, než je aktuální vlákno.The CurrentUICulture property doesn't work reliably when used with any thread other than the current thread. V .NET Framework je čtení vlastnosti spolehlivé, přestože je nastavená pro jiné vlákno, než je aktuální vlákno.In .NET Framework, reading the property is reliable, although setting it for a thread other than the current thread is not. V rozhraní .NET Core je vyvolána InvalidOperationException, pokud se vlákno pokusí přečíst nebo zapsat vlastnost CurrentUICulture v jiném vlákně.On .NET Core, an InvalidOperationException is thrown if a thread attempts to read or write the CurrentUICulture property on a different thread. Pro načtení a nastavení aktuální jazykové verze doporučujeme použít vlastnost CultureInfo.CurrentUICulture.We recommend that you use the CultureInfo.CurrentUICulture property to retrieve and set the current culture.

CultureInfo vrácená touto vlastností může být neutrální jazyková verze.The CultureInfo returned by this property can be a neutral culture. Neutrální jazykové verze by se neměly používat s metodami formátování, jako jsou String.Format(IFormatProvider, String, Object[]), DateTime.ToString(String, IFormatProvider)a Convert.ToString(Char, IFormatProvider).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). Použijte metodu CultureInfo.CreateSpecificCulture k získání konkrétní jazykové verze nebo použijte vlastnost CurrentCulture.Use the CultureInfo.CreateSpecificCulture method to get a specific culture, or use the CurrentCulture property.

Poznámka

Metoda CultureInfo.CreateSpecificCulture vyvolá ArgumentException neutrálních kultur "zh-Hant" ("zh-CHT") a "zh-Hans" ("zh-CHS").The CultureInfo.CreateSpecificCulture method throws ArgumentException for the neutral cultures "zh-Hant" ("zh-CHT") and "zh-Hans" ("zh-CHS").

Platí pro