В событии PageLoad вашего пользовательского элемента управления вы можете установить культуру текущего потока:
Me.Culture = "en-US"
Любые вызовы внутренней структуры после этой точки будут использовать текущий набор культуры для этого потока, поэтому, например, вызов Convert.ToDouble () будет работать здесь:
Me.Culture = "en-US"
Dim num as Double = Convert.ToDouble("1,000.50")
... но это не сработает:
Dim num as Double = Convert.ToDouble("1.000,50")
... если мы установим французскую канадскую культуру:
Me.Culture = "fr-CA"
Dim num as Double = Convert.ToDouble("1.000,50")
... это будет работать и правильно анализировать строку, потому что десятичный разделитель по умолчанию для французско-канадской культуры - запятая.