Thread.CurrentCulture プロパティ

定義

現在のスレッドのカルチャを取得または設定します。

public:
 property System::Globalization::CultureInfo ^ CurrentCulture { System::Globalization::CultureInfo ^ get(); void set(System::Globalization::CultureInfo ^ value); };
public System.Globalization.CultureInfo CurrentCulture { get; set; }
member this.CurrentCulture : System.Globalization.CultureInfo with get, set
Public Property CurrentCulture As CultureInfo

プロパティ値

現在のスレッドでカルチャを表すオブジェクト。

例外

プロパティが null に設定されています。

.NET Core と .NET 5 以降のみ: 別のスレッドからのスレッドのカルチャの読み取りまたは書き込みはサポートされていません。

次の例は、Windows フォーム アプリケーションのユーザー インターフェイスを、コントロール パネルで設定されたカルチャに表示できるようにするスレッドステートメントを示しています。 追加のコードが必要です。

#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

注釈

このプロパティによって返されるオブジェクトとそれに関連付けられたオブジェクトは CultureInfo 、日付、時刻、数値、通貨値、テキストの並べ替え順序、大文字と小文字の区別規則、および文字列比較の既定の形式を決定します。 CultureInfoカルチャ名と識別子、不変、中立、および特定のカルチャの違い、カルチャ情報がスレッドとアプリケーション ドメインに与える影響について学習するには、 クラスを参照してください。 スレッドの既定の CultureInfo.CurrentCulture カルチャの決定方法と、ユーザーがコンピューターのカルチャ情報を設定する方法については、 プロパティを参照してください。

重要

プロパティは CurrentCulture 、現在のスレッド以外のスレッドで使用すると確実に機能しません。 .NET Frameworkでは、 プロパティの読み取りは信頼できますが、現在のスレッド以外のスレッドに設定することはできません。 .NET Core では、 InvalidOperationException スレッドが別のスレッドで プロパティの読み取りまたは書き込 CurrentCulture みを試みると、 がスローされます。 プロパティを使用して、現在の CultureInfo.CurrentCulture カルチャを取得して設定することをお勧めします。

.NET Framework 4 以降では、 プロパティをCurrentCultureニュートラル カルチャに設定できます。 これは、クラスのCultureInfo動作が変更されたためです。ニュートラル カルチャを表す場合、そのプロパティ値 (特に、、NumberFormatCompareInfoDateTimeFormat、、および TextInfo プロパティ) には、Calendarニュートラル カルチャに関連付けられている特定のカルチャが反映されるようになりました。 以前のバージョンの.NET Frameworkでは、CurrentCultureニュートラル カルチャが割り当てられたときに、 プロパティによって例外がスローNotSupportedExceptionされました。

適用対象