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

Definizione

Ottiene o imposta le impostazioni cultura correnti usate da Gestione risorse per cercare le risorse specifiche delle impostazioni cultura in fase di esecuzione.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

Valore della proprietà

Oggetto che rappresenta le impostazioni cultura correnti.An object that represents the current culture.

Eccezioni

La proprietà è impostata su null.The property is set to null.

La proprietà è impostata su un nome delle impostazioni cultura che non può essere usato per individuare un file di risorse.The property is set to a culture name that cannot be used to locate a resource file. I nomi dei file di risorsa devono includere solo lettere, numeri, trattini o caratteri di sottolineatura.Resource filenames must include only letters, numbers, hyphens or underscores.

Solo .NET Core: la lettura o la scrittura delle impostazioni cultura di un thread da un altro thread non sono supportate..NET Core only: Reading or writing the culture of a thread from another thread is not supported.

Esempi

Nell'esempio seguente determina se la lingua delle impostazioni cultura dell'interfaccia utente del thread corrente è il francese.The following example determines whether the language of the current thread's UI culture is French. In caso contrario, imposta le impostazioni cultura dell'interfaccia utente del thread corrente per inglese (Stati Uniti).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]

Esempio di codice seguente illustra l'istruzione di threading che consente all'interfaccia utente di visualizzare le impostazioni cultura che viene impostato nel Pannello di controllo Windows Form.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. È necessario codice aggiuntivo.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

Commenti

Le impostazioni cultura dell'interfaccia utente specificano le risorse di un'applicazione deve supportare l'input dell'utente e l'output e per impostazione predefinita è quello utilizzato per la lingua del sistema operativo.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. Vedere il CultureInfo classe per conoscere i nomi delle impostazioni cultura e le differenze tra le impostazioni cultura invariabili, neutre e specifiche, identificatori e le informazioni sulle impostazioni cultura modo influisce su domini applicazione e thread.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. Vedere il CultureInfo.CurrentUICulture proprietà per informazioni su come viene determinata dalle impostazioni cultura dell'interfaccia utente predefinita del thread.See the CultureInfo.CurrentUICulture property to learn how a thread's default UI culture is determined.

Importante

Il CurrentUICulture proprietà non funziona in modo affidabile quando usato con qualsiasi thread diverso da quello corrente.The CurrentUICulture property doesn't work reliably when used with any thread other than the current thread. In .NET Framework, la lettura della proprietà è affidabile, anche se non quella di un thread diverso da quello corrente è.In .NET Framework, reading the property is reliable, although setting it for a thread other than the current thread is not. In .NET Core, un' InvalidOperationException viene generata se un thread tenta di leggere o scrivere i CurrentUICulture proprietà su un thread diverso.On .NET Core, an InvalidOperationException is thrown if a thread attempts to read or write the CurrentUICulture property on a different thread. È consigliabile usare il CultureInfo.CurrentUICulture proprietà da recuperare e impostare le impostazioni cultura correnti.We recommend that you use the CultureInfo.CurrentUICulture property to retrieve and set the current culture.

Il CultureInfo restituita da questa proprietà può essere una lingua neutra.The CultureInfo returned by this property can be a neutral culture. Impostazioni cultura non associate non devono essere utilizzate con i metodi di formattazione, ad esempio String.Format(IFormatProvider, String, Object[]), DateTime.ToString(String, IFormatProvider), e 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). Usare la CultureInfo.CreateSpecificCulture metodo per ottenere le impostazioni cultura specifica, oppure utilizzare il CurrentCulture proprietà.Use the CultureInfo.CreateSpecificCulture method to get a specific culture, or use the CurrentCulture property.

Nota

Il CultureInfo.CreateSpecificCulture Genera metodo ArgumentException per le impostazioni cultura non associate "zh-Hant" ("zh-CHT") e "zh-Hans" ("zh-CHS").The CultureInfo.CreateSpecificCulture method throws ArgumentException for the neutral cultures "zh-Hant" ("zh-CHT") and "zh-Hans" ("zh-CHS").

Si applica a