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

정의

리소스 관리자가 런타임에 문화권 관련 리소스를 찾기 위해 사용하는 현재 문화권을 가져오거나 설정합니다.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

속성 값

현재 문화를 나타내는 개체입니다.An object that represents the current culture.

예외

속성이 null로 설정됩니다.The property is set to null.

속성이 리소스 파일을 찾는 데 사용할 수 없는 문화권 이름으로 설정되어 있습니다.The property is set to a culture name that cannot be used to locate a resource file. 리소스 파일 이름에는 문자, 숫자, 하이픈 또는 밑줄만 포함해야 합니다.Resource filenames must include only letters, numbers, hyphens or underscores.

.NET Core만 해당: 다른 스레드의 스레드 문화권을 읽거나 쓰는 기능은 지원되지 않습니다..NET Core only: Reading or writing the culture of a thread from another thread is not supported.

예제

다음 예에서는 현재 스레드의 UI 문화권의 언어가 프랑스어 여부를 결정 합니다.The following example determines whether the language of the current thread's UI culture is French. 없는 경우 현재 스레드의 UI 문화권을 영어 (미국)으로 설정 합니다.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]

다음 코드 예제에는 제어판에서 설정 된 문화권에서 표시 하는 Windows Forms의 사용자 인터페이스를 허용 하는 스레딩 문을 보여 줍니다.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. 추가 코드가 필요 합니다.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

설명

UI 문화권은 애플리케이션 사용자 입력 및 출력을 지원 하며 기본적으로 운영 체제 문화권과 동일 리소스를 지정 합니다.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. 참조 된 CultureInfo 문화권 이름 및 식별자, 고정, 중립 및 특정 문화권 간의 차이점에 대해 자세히 알아보려면 클래스 및 애플리케이션 도메인과 스레드 방식으로 문화권 정보에 영향을 줍니다.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. 참조 된 CultureInfo.CurrentUICulture 스레드의 기본 UI 문화권을 결정 하는 방법을 알아보려면 속성입니다.See the CultureInfo.CurrentUICulture property to learn how a thread's default UI culture is determined.

중요

CurrentUICulture 속성은 현재 스레드를 제외한 모든 스레드를 사용 하 여 사용 하면 안정적으로 작동 하지 않습니다.The CurrentUICulture property doesn't work reliably when used with any thread other than the current thread. .NET framework에서 속성을 읽는 신뢰할 수 있지만 현재 스레드 이외의 스레드가 설정 하지 않아도 됩니다.In .NET Framework, reading the property is reliable, although setting it for a thread other than the current thread is not. .NET Core에는 InvalidOperationException 스레드 읽기 또는 쓰기를 시도할 경우 throw 되는 CurrentUICulture 다른 스레드에서 속성.On .NET Core, an InvalidOperationException is thrown if a thread attempts to read or write the CurrentUICulture property on a different thread. 사용 하는 것이 좋습니다는 CultureInfo.CurrentUICulture 속성을 검색 하 고 현재 문화권을 설정 합니다.We recommend that you use the CultureInfo.CurrentUICulture property to retrieve and set the current culture.

CultureInfo 이 속성이 반환 하는 중립 문화권 될 수 있습니다.The CultureInfo returned by this property can be a neutral culture. 중립 문화권 해서는 안와 같은 서식 지정 메서드로 String.Format(IFormatProvider, String, Object[]), DateTime.ToString(String, IFormatProvider), 및 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). 사용 합니다 CultureInfo.CreateSpecificCulture 특정 문화권을 가져오거나 사용 하는 메서드는 CurrentCulture 속성입니다.Use the CultureInfo.CreateSpecificCulture method to get a specific culture, or use the CurrentCulture property.

참고

합니다 CultureInfo.CreateSpecificCulture 메서드가 throw ArgumentException 중립 문화권 "Zh-hant" ("ZH-CHT") 및 "Zh-hans" ("ZH-CHS").The CultureInfo.CreateSpecificCulture method throws ArgumentException for the neutral cultures "zh-Hant" ("zh-CHT") and "zh-Hans" ("zh-CHS").

적용 대상