Thread.CurrentUICulture Özellik

Tanım

Çalışma zamanında kültüre özgü kaynakları aramak için Resource Manager tarafından kullanılan geçerli kültürü alır veya ayarlar.

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

Özellik Değeri

Geçerli kültürü temsil eden bir nesne.

Özel durumlar

özelliği olarak nullayarlanır.

özelliği, kaynak dosyasını bulmak için kullanılamayabilecek bir kültür adına ayarlanır. Kaynak dosya adları yalnızca harf, sayı, kısa çizgi veya alt çizgi içermelidir.

Yalnızca .NET Core ve .NET 5+ : Başka bir iş parçacığından bir iş parçacığının kültürünü okumak veya yazmak desteklenmez.

Örnekler

Aşağıdaki örnek, geçerli iş parçacığının kullanıcı arabirimi kültürünün dilinin Fransızca olup olmadığını belirler. Değilse, geçerli iş parçacığının kullanıcı arabirimi kültürünü İngilizce (Birleşik Devletler) olarak ayarlar.

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]
open System.Globalization
open System.Threading

// Change the current culture if the language is not French.
let current = Thread.CurrentThread.CurrentUICulture

if current.TwoLetterISOLanguageName <> "fr" then
    let newCulture = CultureInfo.CreateSpecificCulture "en-US"
    Thread.CurrentThread.CurrentUICulture <- newCulture
    // Make current UI culture consistent with current culture.
    Thread.CurrentThread.CurrentCulture <- newCulture

printfn
    $"The current UI culture is {Thread.CurrentThread.CurrentUICulture.NativeName} [{Thread.CurrentThread.CurrentUICulture.Name}]"

printfn
    $"The current culture is {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]

Aşağıdaki kod örneği, bir Windows Forms kullanıcı arabiriminin Denetim Masası'de ayarlanan kültürde görüntülenmesini sağlayan iş parçacığı oluşturma deyimini gösterir. Ek kod gereklidir.

#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());
    }
}
open System.Threading
open System.Windows.Forms

type UICulture() =
    inherit Form()

    do
        // 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.

new UICulture() |> Application.Run
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

Açıklamalar

Ui kültürü, bir uygulamanın kullanıcı girişini ve çıkışını desteklemek için ihtiyaç duyduğu kaynakları belirtir ve varsayılan olarak işletim sistemi kültürüyle aynıdır. CultureInfo Kültür adları ve tanımlayıcıları, sabit, nötr ve belirli kültürler arasındaki farklar ve kültür bilgilerinin iş parçacıklarını ve uygulama etki alanlarını nasıl etkilediği hakkında bilgi edinmek için sınıfına bakın. bir iş parçacığının CultureInfo.CurrentUICulture varsayılan kullanıcı arabirimi kültürünün nasıl belirlendiğini öğrenmek için özelliğine bakın.

Önemli

CurrentUICulture özelliği, geçerli iş parçacığı dışında herhangi bir iş parçacığıyla kullanıldığında güvenilir bir şekilde çalışmaz. .NET Framework özelliği güvenilirdir, ancak geçerli iş parçacığı dışında bir iş parçacığı için ayarlanmaması gerekir. .NET Core'da, InvalidOperationException bir iş parçacığı özelliği farklı bir iş parçacığında CurrentUICulture okumaya veya yazmaya çalışırsa oluşturulur. Geçerli kültürü almak ve ayarlamak için özelliğini kullanmanızı CultureInfo.CurrentUICulture öneririz.

CultureInfo Bu özellik tarafından döndürülen nötr bir kültür olabilir. Nötr kültürler , DateTime.ToString(String, IFormatProvider)ve Convert.ToString(Char, IFormatProvider)gibi String.Format(IFormatProvider, String, Object[])biçimlendirme yöntemleriyle kullanılmamalıdır. CultureInfo.CreateSpecificCulture Belirli bir kültürü almak için yöntemini kullanın veya özelliğini kullanınCurrentCulture.

Şunlara uygulanır