My.Application.ChangeCulture 方法
更新:2007 年 11 月
更改当前线程用于字符串操作和字符串格式设置的区域性。
' Usage
My.Application.ChangeCulture(cultureName)
' Declaration
Public Sub ChangeCulture( _
ByVal cultureName As String _
)
参数
- cultureName
String。区域性的名称,字符串形式。有关可能名称的列表,请参见 CultureInfo。
异常
下面的情况可能会导致异常:
cultureName 参数为 Nothing (ArgumentNullException)。
cultureName 参数不是有效的区域性名称 (ArgumentException)。
备注
My.Application.ChangeCulture 方法更改当前线程的 CurrentCulture 属性。 CurrentCulture 确定该线程上日期、时间、货币和数字的默认格式、文本排序顺序、字符串比较以及所有计算的大小写。
要检索当前区域性,可以使用 My.Application.Culture 属性或 CurrentCulture 属性。
CurrentCulture 设置与语言设置不同。它仅包含与地理区域的标准设置相关的数据。因此,只能将 CurrentCulture 属性设置为特定区域性或设置为 InvariantCulture。
使用 My.Application.ChangeUICulture 方法更改当前线程用于检索区域性特定资源的区域性。
安全说明: |
---|
My.Application.ChangeCulture 方法需要设置了 ControlThread 的 SecurityPermission。由于安全状态与线程关联,对线程进行操作是危险的。因此,仅在必要时才向可信代码授予此权限。不能在不完全受信任的代码中更改线程的区域性。 |
示例
此示例演示更改区域性将如何更改日期的字符串表达式。
Private Sub TestChangeCulture()
' Store the current culture.
Dim currentculture As String = My.Application.Culture.Name
MsgBox("Current culture is " & currentculture)
Dim jan1 As New Date(2005, 1, 1, 15, 15, 15)
My.Application.ChangeCulture("en-US")
MsgBox("Date represented in en-US culture: " & jan1)
' 1/1/2005 3:15:15 PM
My.Application.ChangeCulture("")
MsgBox("Date represented in invariant culture" & jan1)
' 01/01/2005 15:15:15
' Restore the culture.
My.Application.ChangeCulture(currentculture)
End Sub
要求
命名空间:Microsoft.VisualBasic.ApplicationServices
类:WindowsFormsApplicationBase、ApplicationBase
**程序集:**Visual Basic Runtime Library(位于 Microsoft.VisualBasic.dll 中)
按项目类型列出可用性
项目类型 |
可用 |
---|---|
Windows 应用程序 |
是 |
类库 |
是 |
控制台应用程序 |
是 |
Windows 控件库 |
是 |
Web 控件库 |
否 |
Windows 服务 |
是 |
网站 |
否 |
权限
以下权限可能是必需的:
权限 |
说明 |
---|---|
描述应用于代码的安全权限集。关联的枚举:ControlThread。 |