CultureInfo.CurrentUICulture プロパティ
実行時にカルチャ固有のリソースを参照するためにリソース マネージャによって使用される現在のカルチャを表す CultureInfo を取得します。
Public Shared ReadOnly Property CurrentUICulture As CultureInfo
[C#]
public static CultureInfo CurrentUICulture {get;}
[C++]
public: __property static CultureInfo* get_CurrentUICulture();
[JScript]
public static function get CurrentUICulture() : CultureInfo;
プロパティ値
実行時にカルチャ固有のリソースを参照するためにリソース マネージャによって使用される現在のカルチャを表す CultureInfo 。
解説
取得されるカルチャは、実行中のスレッドのプロパティです。このプロパティは、 Thread.CurrentUICulture を返します。スレッドを開始すると、その UI カルチャは最初に Windows API から GetUserDefaultUILanguage を使用することによって確認されます。スレッドが使用する UI カルチャを変更するには、 Thread.CurrentUICulture に新しいカルチャを設定します。 Thread.CurrentThread のカルチャを変更するには、 ControlThread フラグの設定された SecurityPermission が必要です。スレッドに関連付けられているセキュリティ状態が理由で、スレッド操作は危険です。このため、このアクセス許可は、信頼できるコードに必要な場合だけ与えてください。信頼度の低いコード内では、スレッドのカルチャは変更できません。
使用例
[Visual Basic, C#, C++] 現在のスレッドの CurrentCulture と CurrentUICulture を変更する方法を次のコード例に示します。
Imports System
Imports System.Globalization
Imports System.Security.Permissions
Imports System.Threading
<assembly: SecurityPermission(SecurityAction.RequestMinimum, ControlThread := True)>
Public Class SamplesCultureInfo
Public Shared Sub Main()
' Displays the name of the CurrentCulture of the current thread.
Console.WriteLine("CurrentCulture is {0}.", CultureInfo.CurrentCulture.Name)
' Changes the CurrentCulture of the current thread to th-TH.
Thread.CurrentThread.CurrentCulture = New CultureInfo("th-TH", False)
Console.WriteLine("CurrentCulture is now {0}.", CultureInfo.CurrentCulture.Name)
' Displays the name of the CurrentUICulture of the current thread.
Console.WriteLine("CurrentUICulture is {0}.", CultureInfo.CurrentUICulture.Name)
' Changes the CurrentUICulture of the current thread to ja-JP.
Thread.CurrentThread.CurrentUICulture = New CultureInfo("ja-JP", False)
Console.WriteLine("CurrentUICulture is now {0}.", CultureInfo.CurrentUICulture.Name)
End Sub 'Main
End Class 'SamplesCultureInfo
'This code produces the following output, if the ControlThread permission is granted (for example, if this code is run from the local drive).
'
'CurrentCulture is en-US.
'CurrentCulture is now th-TH.
'CurrentUICulture is en-US.
'CurrentUICulture is now ja-JP.
[C#]
using System;
using System.Globalization;
using System.Security.Permissions;
using System.Threading;
[assembly:SecurityPermission( SecurityAction.RequestMinimum, ControlThread = true )]
public class SamplesCultureInfo {
public static void Main() {
// Displays the name of the CurrentCulture of the current thread.
Console.WriteLine( "CurrentCulture is {0}.", CultureInfo.CurrentCulture.Name );
// Changes the CurrentCulture of the current thread to th-TH.
Thread.CurrentThread.CurrentCulture = new CultureInfo( "th-TH", false );
Console.WriteLine( "CurrentCulture is now {0}.", CultureInfo.CurrentCulture.Name );
// Displays the name of the CurrentUICulture of the current thread.
Console.WriteLine( "CurrentUICulture is {0}.", CultureInfo.CurrentUICulture.Name );
// Changes the CurrentUICulture of the current thread to ja-JP.
Thread.CurrentThread.CurrentUICulture = new CultureInfo( "ja-JP", false );
Console.WriteLine( "CurrentUICulture is now {0}.", CultureInfo.CurrentUICulture.Name );
}
}
/*
This code produces the following output, if the ControlThread permission is granted (for example, if this code is run from the local drive).
CurrentCulture is en-US.
CurrentCulture is now th-TH.
CurrentUICulture is en-US.
CurrentUICulture is now ja-JP.
*/
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Globalization;
using namespace System::Security::Permissions;
using namespace System::Threading;
[assembly:SecurityPermission( SecurityAction::RequestMinimum, ControlThread = true )];
int main() {
// Displays the name of the CurrentCulture of the current thread.
Console::WriteLine( "CurrentCulture is {0}.", CultureInfo::CurrentCulture->Name );
// Changes the CurrentCulture of the current thread to th-TH.
Thread::CurrentThread->CurrentCulture = new CultureInfo( "th-TH", false );
Console::WriteLine( "CurrentCulture is now {0}.", CultureInfo::CurrentCulture->Name );
// Displays the name of the CurrentUICulture of the current thread.
Console::WriteLine( "CurrentUICulture is {0}.", CultureInfo::CurrentCulture->Name );
// Changes the CurrentUICulture of the current thread to ja-JP.
Thread::CurrentThread->CurrentUICulture = new CultureInfo( "ja-JP", false );
Console::WriteLine( "CurrentUICulture is now {0}.", CultureInfo::CurrentCulture->Name );
}
/*
This code produces the following output, if the ControlThread permission is granted (for example, if this code is run from the local drive).
CurrentCulture is en-US.
CurrentCulture is now th-TH.
CurrentUICulture is en-US.
CurrentUICulture is now ja-JP.
*/
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
CultureInfo クラス | CultureInfo メンバ | System.Globalization 名前空間 | ResourceManager | Thread.CurrentUICulture | CurrentCulture | InstalledUICulture | InvariantCulture | Parent | SecurityPermission | SecurityPermissionAttribute