在VSTO Addin中设置CurrentCulture
我正在为Excel 2007创build一个VSTO插件。所有在我的英语(英国)区域设置的开发计算机上工作正常。 但是,一些最终用户将有其他设置。
当向数据库添加信息时,所有工作都正常,但是当我尝试使用英语(美国)区域设置填充数据表时,它失败。
Dim TA As New DB_InquiriesTableAdapters.qry_InquiriesTableAdapter Dim DB As New DB_Inquiries.qry_InquiriesDataTable TA.Fill(DB) 'FAILS HERE as date format is incorrect for regional settings
我已经尝试在插件启动设置Thread.CurrentCulture但这引发和exception说:
MSCORLIB文化不受支持
任何人都知道如何解决这个问题?
我原来的代码是这样的:
Imports System.Threading Imports System.Globalization Public Class MyClass Public Sub MySub Thread.CurrentCulture=New CultureInfo("en-GB") Thread.CurrentUICulture=New CultureInfo("en-GB") .... End Sub End Class
当试图设置当前的文化时,它会抛出exception。
新代码:
Public Class MyClass Public Sub MySub My.Application.SetCulture("en-GB") .... End Sub End Class
该应用程序是在VS2013专业版中编写的VSTO Excel Addin,并且该类链接到Winforms表单中托pipe的WPF UserControl。
希望这有助于更好地解释答案。