Como definir informações culturais programaticamente em um aplicativo baseado no Windows usando o Visual Basic 2005

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 914356
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.

Sumário
Este artigo descreve como definir a cultura programaticamente em um aplicativo baseado no Windows no Microsoft usando a propriedade My.Application.Culture no Microsoft Visual Basic 2005. Este artigo contém um exemplo passo a passo descreve como o formato de exibição número altera, como altera o formato de exibição de data e como o formato de exibição de hora altera dependendo da cultura que você definir no aplicativo baseado no Windows.
Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades.
INTRODUÇÃO
Este artigo descreve como definir e acessar a cultura atual por meio de programação em um aplicativo baseado no Windows usando a classe My.Application.Culture e o método My.Application.ChangeCulture no Microsoft Visual Basic 2005. Os exemplos de código ilustram como definir a cultura atual. Ela também mostra como o formato de exibição de número, o formato de exibição de data e o formato de exibição de hora alteradas quando você definir a cultura. Além disso, este artigo descreve as etapas para criar um aplicativo baseado no Windows que define e acessa a cultura atual programaticamente usando o Visual Basic 2005.
Mais Informações

O namespace System.Globalization

Classes definidas no namespace System.Globalization definem as informações relacionadas à cultura, como linguagens, padrões de formato de data, moeda, números e calendários. Você pode usar a propriedade CurrentCulture para definir a cultura e obter as informações de cultura sobre o thread no qual o código está sendo executado. Para obter as informações de cultura, acessar o segmento atual no qual o código está sendo executado e, em seguida, recuperar a propriedade CurrentCulture do segmento.

A propriedade My.Application.Culture

Para recuperar a cultura que o thread atual usa para manipulação de seqüência de caracteres e formatação de seqüência de caracteres, use a propriedade My.Application.Culture . A propriedade My.Application.Culture retorna o objeto CultureInfo que usa o thread atual. Este objeto é idêntico ao que é retornado pela propriedade CurrentCulture que controla a muitos das computações relacionadas à seqüência de caracteres em que thread. A propriedade CurrentCulture determina os formatos padrão para datas, horas, moeda, números, ordem de texto, as comparações de seqüência de caracteres e letras maiúsculas e minúsculas para todos os cálculos no thread atual de classificação.

A propriedade My.Application.ChangeCulture

Para alterar a cultura que o thread atual usa para manipulação de seqüência de caracteres e formatação de seqüência de caracteres, use o método My.Application.ChangeCulture . O método My.Application.ChangeCulture altera a propriedade de CurrentCulture do segmento atual. A propriedade CurrentCulture difere de uma configuração de idioma. Esta propriedade só pode ser definida para uma cultura específica ou para a cultura invariável porque a configuração da propriedade CurrentCulture contém somente os dados relacionados às configurações padrão para uma região geográfica.

Observação Quando você altera as informações de cultura, a configuração do usuário será substituída e o símbolo de moeda relacionados também pode ser alteração. No entanto, alterar as informações de cultura não automaticamente alterará o valor da moeda.

A cultura invariável

A cultura invariável faz diferenciação de cultura. Você pode especificar a cultura invariável, nome usando uma seqüência vazia (""). Como alternativa, você pode especificar a cultura invariável por seu identificador de cultura 0x007F. A propriedade CultureInfo.InvariantCulture recupera uma instância da cultura invariável. Ele está associado com o idioma inglês, mas não com qualquer país ou região. Você pode usar a cultura invariável na maioria dos métodos no namespace System.Globalization que exigem uma cultura.

Observação Exceto para a cultura invariável, dados de cultura são dinâmicos. Isso é verdadeiro mesmo para as culturas predefinidas. Por exemplo, países ou regiões podem alterar as moedas, seus erros de ortografia de palavras ou seu calendário preferencial. Definições de cultura controlar essas alterações regionais. Culturas personalizadas estão sujeitos a alterações sem aviso prévio. E qualquer cultura específica pode ser substituída por uma cultura personalizada substituta. Além disso, um usuário individual pode substituir as preferências culturais. Recomendamos que você codificar seu aplicativo para sempre obter dados de cultura em tempo de execução em vez de supondo que os dados de cultura podem ser conhecidos antecipadamente.

Classes no namespace System.Globalization

As classes a seguintes são as classes do namespace System.Globalization . Os exemplos neste artigo usam principalmente essas classes para lidar com as configurações regionais.
A classe CultureInfo
Essa classe fornece informações sobre uma cultura específica ou sobre o idioma. O nome de cultura que é definido na classe CultureInfo segue a solicitação de comentários (RFC) 1766 padrão. O nome de cultura é no seguinte formato:
languagecode2-country/regioncode2
Neste exemplo, languagecode2 é um código de duas letras minúsculas, que é derivado da International Organization for Standardization (ISO) 639-1. E country/regioncode2 é um código de duas letras maiúsculas, que é derivado da ISO 3166. Quando um código de idioma com duas letras é não está disponível para um nome de cultura, você pode usar o código de três letras que é derivado da ISO 639-2. No entanto, alguns nomes de culturas têm sufixos que especificar o script.
A classe DateTimeFormatInfo
Essa classe define como o valor de data e o valor de tempo são formatados e são exibidos. Como esses valores aparecem é baseado no idioma que você selecione ou na cultura que você seleciona.
A classe NumberFormatInfo
Essa classe define como os valores numéricos são formatados e são exibidos. Como esses valores aparecem é baseado no idioma que você seleciona.

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs que você precisa:
  • Microsoft .NET framework
  • O Microsoft Visual Basic 2005 ou o Microsoft Visual Basic .NET
Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • Programação no Visual Basic 2005 ou no Visual Basic .NET
  • O IDE no Microsoft Visual Studio 2005 ou no Microsoft Visual Studio .NET

Obter os formatos de vídeo específicos de cultura

O exemplo de código a seguir utiliza a propriedade My.Application.Culture para recuperar o nome de cultura atual e para exibir uma data no formato de data e hora atual.
  ' Get the current culture.  Dim currentculture As String = My.Application.Culture.Name  Dim jan1 As New Date(2006, 1, 1, 15, 15, 15)  MsgBox("Current culture is " & currentculture)  ' Display a date string in the current culture  MsgBox("Date represented in " + currentculture + ": " & jan1)
o exemplo de código a seguir utiliza as instâncias de classe NumberFormatInfo e a classe DateTimeFormatInfo para exibir os formatos de exibição específicos da cultura. A classe NumberFormatInfo obtém o formato específico de cultura correto da propriedade My.Application.Culture.NumberFormat . A classe DateTimeFormatInfo obtém o formato específico de cultura correto da propriedade My.Application.Culture.DateTimeFormat .
  ' Get the number format of the current culture that is being used.  Dim ni As System.Globalization.NumberFormatInfo = My.Application.Culture.NumberFormat()  ' Get the DateTimeFormat of the current culture.  Dim dti As System.Globalization.DateTimeFormatInfo = My.Application.Culture.DateTimeFormat()  ' Display various culture display formats  MsgBox("Number Decimal Separator is: [" + ni.NumberDecimalSeparator + "]")  MsgBox("Number Group Separator is: [" + ni.NumberGroupSeparator + "]")  MsgBox("Time Pattern is: [" + dti.LongTimePattern + "]")

Alterar a cultura do thread atual

O exemplo de código a seguir usa o método My.Application.ChangeCulture para alterar a cultura.
	' Store the current culture.	Dim originalculture As String = My.Application.Culture.Name	Dim currentculture As String	' Create a date	Dim jan1 As New Date(2005, 1, 1, 15, 15, 15)	' Set the culture to Dutch - The Netherlands.	My.Application.ChangeCulture("nl-NL")	currentculture = My.Application.Culture.Name	'Display the date in the current (dutch) culture	MsgBox("Date represented in " + currentculture + ": " & jan1)	' Set the culture to the invariant culture	My.Application.ChangeCulture("")	' Display the date in the invariant culture	MsgBox("Date represented in invariant culture: " & jan1)	' Restore the culture to the original	My.Application.ChangeCulture(originalculture)	currentculture = My.Application.Culture.Name	' Display the date in the current (original) culture	MsgBox("Date represented in " + currentculture + ": " & jan1)

Use o método My.Application.ChangeCulture para definir a cultura

As etapas a seguir descrevem como usar o método GetCultures da classe CultureInfo para obter as culturas que estão instaladas no seu computador. Além disso, essas etapas mostram como exibir as culturas instaladas no computador em um controle ComboBox .

Para criar um aplicativo Visual Basic 2005 que usa a propriedade My.Application.Culture e o método My.Application.ChangeCulture , execute essas etapas:
  1. Inicie o Visual Basic 2005 Express Edition.
  2. No menu arquivo , clique em New Project .
  3. Na caixa de diálogo New Project , clique em Windows Application . Tipo CultureInfoExample em nome de caixa e, em seguida, clique em OK . Por padrão, um formulário que é denominado Form1 é criado.
  4. No menu arquivo , clique em Salvar tudo e, em seguida, clique em OK .
  5. Adicione um controle ComboBox ao formulário Form1. Por padrão, é criado um controle ComboBox , que é denominado ComboBox1 .
  6. Adicione um controle Label ao formulário Form1. Por padrão, é criado um controle de rótulo que é denominado Label1 . Colocar Label1 acima ComboBox1 , ou coloque Label1 à esquerda do ComboBox1 .
  7. Clique com o botão direito do mouse Label1 e, em seguida, clique em Propriedades .
  8. Digite a Selecionar um idioma regionais na caixa de texto .
  9. No menu Exibir , clique em código .
  10. No formulário Form1, adicione a instrução a seguir no início do código.
    Imports System.Globalization
  11. Adicione o seguinte código ao manipulador de eventos Form1_Load .
    ComboBox1.Text = ""' Get the installed cultures on your computerDim ci As CultureInfoFor Each ci In CultureInfo.GetCultures(CultureTypes.InstalledWin32Cultures)    ' Display the cultures as the items in the ComboBox    ComboBox1.Items.Add(ci.DisplayName)    ' Sort the items in the ComboBox.    ComboBox1.Sorted = TrueNext
  12. Adicione o seguinte código ao manipulador de evento ComboBox1_SelectedValueChanged .
    Dim ci As CultureInfoFor Each ci In CultureInfo.GetCultures(CultureTypes.InstalledWin32Cultures)    If ci.DisplayName = ComboBox1.SelectedItem Then        My.Application.ChangeCulture(ci.Name)    End IfNext
  13. Pressione CTRL + SHIFT + S para salvar o projeto.

Exibir a propriedade NumberFormat e a propriedade DateTimeFormat

Você pode utilizar a propriedade DateTimeFormat para retornar a configuração de data para a cultura atual e a configuração de tempo para a cultura atual para a instância da classe DateTimeFormatInfo . Para fazer isso, siga estas etapas.

Observação Você pode utilizar a propriedade NumberFormat para retornar as configurações de números para a cultura atual para a instância da classe NumberFormatInfo .
  1. Adicione um controle Button ao formulário Form1. Por padrão, um controle Button chamado Button1 é criado.
  2. Clique com o botão direito do mouse em Button1 e, em seguida, clique em Propriedades .
  3. Digite Regionais exibir formato na caixa de texto .
  4. No menu Project , clique em Add Windows Form .
  5. Em Add New Item - CultureInfoExample caixa de diálogo, clique em Windows Form e, em seguida, clique em Adicionar . Por padrão, é criado um formulário que é denominado Form2.
  6. Adicione quatro controles TextBox ao formulário Form2. Por padrão, quatro controles TextBox que são chamados de TextBox1 , TextBox2 , TextBox3 e TextBox4 são criados.
  7. Adicione quatro controles de rótulo ao formulário Form2. Por padrão, quatro controles Label que são chamados de Label1 , Label2 , Label3 e Label4 são criados. Coloque cada controle rótulo à esquerda de um controle TextBox correspondente.
  8. Na caixa de diálogo Propriedades , defina a propriedade Text dos controles de rótulo com os seguintes valores.
    nome do controle rótulo texto
    Label1 Símbolo decimal
    Label2 Agrupamento de dígitos símbolo
    Label3 Símbolo de porcentagem
    Label4 Símbolo de moeda
  9. Adicione um controle ListBox ao formulário Form2. Em seguida, adicione um controle Label ao formulário Form2. Por padrão, um controle Label que é o nome Label5 e um controle ListBox chamado ListBox1 são criados. Colocar Label5 à esquerda do ListBox1 .
  10. Clique com o botão direito do mouse Label5 e, em seguida, digite meses na caixa de texto .
  11. No menu Exibir , clique em código .
  12. No formulário Form1, adicione o seguinte código ao manipulador de eventos Button1_Click .
    ' Get the number format of the current culture.Dim ni As NumberFormatInfo = My.Application.Culture.NumberFormat()' Get the DateTimeFormat of the current culture.Dim dti As DateTimeFormatInfo = My.Application.Culture.DateTimeFormat()' Create Form2 and populate the TextBox controls.Dim MyForm As New Form2' Display the formats in the controls on Form2.MyForm.TextBox1.Text = ni.NumberDecimalSeparatorMyForm.TextBox2.Text = ni.NumberGroupSeparatorMyForm.TextBox3.Text = dti.LongTimePatternMyForm.TextBox4.Text = ni.CurrencySymbolDim s(), st As Strings = dti.MonthNamesFor Each st In s    MyForm.ListBox1.Items.Add(st)Next' Display the form.MyForm.Show()MyForm.Text = " Number and Date Time Format in " + ComboBox1.SelectedItem
  13. Pressione CTRL + SHIFT + S para salvar o projeto.

Número formato, formato de data e exemplo de formato de hora

Você pode exibir números, a data e a hora no formato da cultura que você selecionou, usando o Form1 ComboBox1 formulário. Para fazer isso, execute as seguintes etapas:
  1. Adicione um controle Button ao formulário Form1. Por padrão, um controle de botão é denominado Button2 é criado.
  2. Clique com o botão direito do mouse Button2 e, em seguida, digite Mostrar exemplo de formato de exibição para na caixa de texto .
  3. No menu Project , clique em Add Windows Form .
  4. Em Add New Item - CultureInfoExample caixa de diálogo, clique em Windows Form e, em seguida, clique em Adicionar . Por padrão, um formulário que é chamado Form3 é criado.
  5. Adicione três controles TextBox ao formulário Form3. Por padrão, são criados três controles TextBox que são chamados de TextBox1 , TextBox2 e TextBox3 .
  6. Adicione três controles de rótulo ao formulário Form3. Por padrão, são criados três controles Label que são nomeados Label3 , Label1 e Label2 . Coloque cada controle rótulo à esquerda de um controle TextBox correspondente.
  7. Na caixa de diálogo Propriedades , defina a propriedade Text dos controles de rótulo com os seguintes valores.
    nome do controle rótulo texto
    Label1 Primeiro número
    Label2 Segundo número
    Label3 Resultado
  8. Adicione dois controles Button ao formulário Form3. Por padrão, dois controles de botão que são chamados de Button1 e Button2 são criados.
  9. Clique com o botão direito do mouse em Button1 e digite Soma exibir na caixa de texto .
  10. Clique com o botão direito do mouse Button2 e digite Exibir data e hora no texto caixa.
  11. No menu Exibir , clique em código .
  12. No formulário Form3, adicione o seguinte código ao manipulador de eventos Button1_Click . fnum
    Dim fnum, snum, res As Double' Input the first number.fnum = InputBox("Enter the first number")' Input the second number.snum = InputBox("Enter the second number")' Display the numbers in the TextBox with the thousand separator.TextBox1.Text = Format(fnum, "standard")TextBox2.Text = Format(snum, "standard")res = fnum + snum' Display the sum of the two numbers in the TextBox.TextBox3.Text = Format(res, "standard")
  13. No formulário Form3, adicione o seguinte código ao manipulador de eventos Button2_Click .
    ' Display the current date and time.MessageBox.Show(Now)
  14. No formulário Form1, adicione o seguinte código ao manipulador de eventos Button2_Click .
    Dim ExampleForm As New Form3' Display the form with an example for display format in the regional languages.ExampleForm.Show()ExampleForm.Text = "Example to show the Number and DateTime display format in " + ComboBox1.SelectedItem
  15. Pressione CTRL + SHIFT + S para salvar o projeto.

Verifique se o aplicativo funciona

  1. No menu Build , clique em criar CultureInfoExample .
  2. No menu Debug , clique em Iniciar a depuração . A janela Form1 é aberta.
  3. Na janela Form1, clique para selecionar uma cultura na caixa de combinação Selecionar idioma .
  4. Clique em formato de exibição regionais . O número e formato de hora data in SelectedLanguage (Locale) caixa de diálogo é exibida. Esta caixa de diálogo contém informações sobre o formato de número, o formato de data e formato de hora na cultura que você selecionou. Reveja essas informações e feche a caixa de diálogo.
  5. Clique em Mostrar exemplo para exibir formato .
  6. Para adicionar dois números, clique em Exibir soma .
  7. Digite o primeiro número na caixa de texto e, em seguida, clique em OK .
  8. Digite o segundo número na caixa de texto e, em seguida, clique em OK .

    Observação Você deve usar o símbolo decimal da cultura atual quando você digitar os números. Os números que você fornecer são exibidos em caixas de dois texto primeira. A soma dos dois números é exibida na terceira caixa de texto. Os números são exibidos no formato do número da cultura que você selecionou.
  9. Clique em Exibir data e hora . A data e a hora são exibidos no formato de data e no formato de hora do idioma que você selecionou.

Solução de problemas

Para impedir que dados se tornem ilegíveis ou alterando no significado, você deve usar um dos formatos a seguir quando você salvar os dados:
  • A cultura invariável
  • Um formato binário
  • Um formato independente de cultura específico
Dados que é salvo de acordo com os valores atuais estão associados uma determinada cultura podem se tornar ilegíveis ou podem alterar em ou seja, se essa cultura for alterado. Esse comportamento não ocorre quando dados é salvo de acordo com os valores atuais são associados com a cultura invariável.
Referências
Para obter mais informações sobre globalização no Microsoft .NET Framework, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
893663Problemas de globalização no ASP e ASP.NET
Para obter mais informações sobre globalização e localização, visite o seguinte site:Para obter mais informações sobre a classe CultureInfo , visite a seguinte site da Microsoft Developer Network (MSDN):Para obter mais informações sobre como desenvolver aplicativos do mundo usando o .NET Framework, visite o seguinte da MSDN site:Para obter mais informações sobre namespaces de globalização e localização no Visual Studio, visite o seguinte site da MSDN:Para obter mais informações sobre como a cultura afeta cadeias de caracteres no Visual Basic, visite o seguinte site da MSDN:Para obter mais informações sobre o namespace System.Globalization , visite o seguinte site da MSDN:Para obter mais informações sobre a classe CultureInfo , visite o seguinte site da MSDN:Para obter mais informações sobre a propriedade My.Application.Culture , visite o seguinte site da MSDN:Para obter mais informações sobre o método My.Application.ChangeCulture , visite o seguinte site da MSDN:

Propriedades

ID do Artigo: 914356 - Última Revisão: 12/09/2015 04:38:24 - Revisão: 1.7

Microsoft Visual Basic 2005

  • kbnosurvey kbarchive kbmt kbvs2005applies kbwindowsforms kbforms kbexpertisebeginner kbsample kbhowtomaster kblocalization kbhowto KB914356 KbMtpt
Comentários
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)