Thread.CurrentUICulture Proprietà

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 viene determinato se la lingua delle impostazioni cultura dell'interfaccia utente del thread corrente è francese.The following example determines whether the language of the current thread's UI culture is French. In caso contrario, le impostazioni cultura dell'interfaccia utente del thread corrente vengono impostate su 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]

Nell'esempio di codice seguente viene illustrata l'istruzione threading che consente all'interfaccia utente di un Windows Forms di visualizzare le impostazioni cultura impostate nel pannello di controllo.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 necessarie a un'applicazione per supportare l'input e l'output dell'utente e per impostazione predefinita sono le stesse impostazioni cultura 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 la classe CultureInfo per informazioni sui nomi e gli identificatori delle impostazioni cultura, le differenze tra le impostazioni cultura invarianti, neutre e specifiche e il modo in cui le informazioni sulle impostazioni cultura influiscono su thread e domini applicazione.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. Per informazioni sul modo in cui viene determinata la lingua dell'interfaccia utente predefinita di un thread, vedere la proprietà CultureInfo.CurrentUICulture.See the CultureInfo.CurrentUICulture property to learn how a thread's default UI culture is determined.

Importante

La proprietà CurrentUICulture non funziona in modo affidabile se utilizzata con un thread diverso dal thread 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 l'impostazione per un thread diverso dal thread corrente non lo è.In .NET Framework, reading the property is reliable, although setting it for a thread other than the current thread is not. In .NET Core viene generata un'eccezione InvalidOperationException se un thread tenta di leggere o scrivere la proprietà CurrentUICulture in 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. Si consiglia di utilizzare la proprietà CultureInfo.CurrentUICulture per 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 restituito da questa proprietà può essere un valore di impostazioni cultura non associate ad alcun paese.The CultureInfo returned by this property can be a neutral culture. Le impostazioni cultura non associate ad alcun paese non devono essere utilizzate con metodi di formattazione quali 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 il metodo CultureInfo.CreateSpecificCulture per ottenere impostazioni cultura specifiche o usare la proprietà CurrentCulture.Use the CultureInfo.CreateSpecificCulture method to get a specific culture, or use the CurrentCulture property.

Nota

Il metodo CultureInfo.CreateSpecificCulture genera ArgumentException per le impostazioni cultura non associate ad alcun paese "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