Instruções passo a passo: localizando Windows Forms

O sistema do projeto Visual Studio oferece suporte considerável para localizar aplicativos Formulários do Windows. Há duas maneiras para gerar arquivos de recurso usando o ambiente de desenvolvimento Visual Studio:

  • Tem o sistema do projeto gerado os arquivos de recurso para elementos interface do usuário localizáveis como texto e imagens no formulário. Os arquivos de recurso, em seguida, são criados em satélite conjuntos de módulos (assemblies). Eles são conhecidos como recursos com base em formulários.

  • Adicionar um modelo de arquivo de recurso e em seguida, edite o modelo com o designer XML. Um motivo para fazer a última é para tornar localizável sequências de caracteres que aparecem em caixas de diálogo e mensagens de erro. Você deve escrever código para acessar esses recursos. Eles são conhecidos como recursos do projeto.

  • Em geral, você deve usar os recursos com base em formulários para todos os recursos específicos de um formulário em seu aplicativo Formulários do Windows. Você deve usar os recursos do projeto para todas as sequências de interface do usuário nã0 baseada em formulários e imagens, como mensagens de erro.

Dica

É importante ser consistente e usar recursos com base em formulários ou recursos do projeto para a mesma propriedade.Muitas propriedades de imagens, como a propriedade Image no PictureBox, permitem que você selecione uma imagem dos recursos do projeto, ou importar uma nova imagem como um recurso com base em formulários.Se você tentar definir a imagem padrão usando um recurso do projeto e versões específicas do idioma da imagem usando recursos baseados em formulário, a imagem padrão nunca será exibida.

Este tópico passo a passo demonstra ambos os processos em um único projeto aplicativos do Windows.

Você também pode converter um arquivo de texto um arquivo de recurso; para obter mais informações, consulte Resources in Text File Format e Resgen.exe (Gerador de Arquivo de Recurso).

Para ter o Visual Studio gerando arquivos de recurso para você

  1. Crie um novo aplicativo do Windows chamado "WindowsApplication1". Para obter detalhes, consulte:Como criar um novo projeto de aplicativo dos Windows Forms.

  2. Na janela Properties, defina o formulário da propriedade Localizable para true.

    A propriedade Language já está definida como (Padrão) .

  3. Arraste um controle Button da guia Formulários do Windows do ToolBox para o formulário e defina sua propriedade Text para Hello World.

  4. Defina a propriedade do formulário Language para Alemão (Alemanha) .

  5. Definir a propriedade do botão Text como Hallo Welt .

  6. Definira propriedade do formulário Language para Francês (França) .

  7. Defina a propriedade do botão Text para Bonjour Le Monde. Você pode redimensionar o botão para acomodar a sequência mais longa, se necessário.

  8. Salve e crie a solução.

  9. Clique no botão Show All Files no Gerenciador de Soluções .

    Os arquivos de recurso aparecem sob Form1.vb, Form1.cs ou Form1.jsl. Form1.resx é a arquivo de recurso para a cultura padrão, que será criada para o conjunto principal. Form1.de-DE.resx é o arquivo de recurso para alemão como falado na Alemanha. Form1.fr-FR.resx é a arquivo de recurso para francês como falado na França.

    Além disso, você verá arquivos aparecem denominados Form1.de.resx e Form1.fr.resx. Visual Studiocria automaticamente esses arquivos para trabalhar em torno de uma limitação no Visual SourceSafe ter que fazer com a adição de novos arquivos a um projeto durante uma operação Salvar operação. Os arquivos .resx são vazios e não contém nenhum recurso.

  10. Pressione a tecla F5 ou escolha Debug do menu Start.

    Agora você verá um caixa de diálogo com uma saudação inglês, francês ou alemão dependendo do idioma da UI do seu sistema operacional.

    Dica

    O idioma da UI usado no Windows é uma função da configuração C urrentUICulture.Se sua cópia do Windows possui um Multilingual User Interface Pack (MUI) instalado, você pode alterar o idioma da UI no Painel de controle.Para obter mais informações, consulte o siteWindows Server 2003, Windows XP e Windows 2000 MUI.Se você não tiver o MUI instalado, você pode alterar a cultura atual da interface do usuário por meio de programação, como será explicado.

    O procedimento a seguir mostra como definir a cultura da interface do usuário assim o aplicativo exibe os recursos em francês. Em aplicativos do mundo real, você não embutiria a cultura da interface do usuário dessa forma. A configuração para a cultura UI depende de uma configuração de usuário ou uma configuração de aplicativo.

Para definir a cultura da UI para exibir os recursos específicos

  1. Na caixa Code Editor, adicione o seguinte código no início do módulo, antes da declaração Form1:

    ' Visual Basic
    Imports System.Globalization
    Imports System.Threading
    
    // C#
    using System.Globalization;
    using System.Threading;
    
  2. Adicione o seguinte código. No Visual Basic, ele deverá ir na função New, antes de chamar a função InitializeComponent. Na Visual C#, ele deve ficar no Form1 e também antes de chamar o InitializeComponent função.

    ' Visual Basic
    ' Sets the UI culture to French (France).
    Thread.CurrentThread.CurrentUICulture = New CultureInfo("fr-FR")
    
    // C#
    // Sets the UI culture to French (France).
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
    
  3. Salve e crie a solução.

  4. Pressione a tecla F5 ou escolha Debug do menu Start.

    Agora o formulário será sempre exibido em francês. Se você alterou o tamanho do botão anterior para acomodar a sequência mais longa em francês, notará que o botão Tamanho tem também foi persistente no arquivo de recurso de francês.

Para adicionar arquivos de recurso para o projeto e editá-los manualmente.

  1. No menu Project, clique em Add New Item.

  2. Na caixa Templates, selecione o O arquivo de recursos modelo. Digite o nome de arquivo "WinFormStrings.resx" na caixa Name. O arquivo WinFormStrings.resx será contém recursos de fallback em inglês. Esses recursos serão acessados sempre que o aplicativo não conseguir encontrar os recursos mais apropriados para a cultura de interface do usuário.

    O arquivo é adicionado ao seu projeto em Solution Explorer e automaticamente abre no criador de XML no modo Data.

  3. No painel Data Tables, selecionados data.

  4. No painel Data, clique em uma linha vazia e insira strMessage na coluna Name e Hello World na coluna value.

    Não é necessário especificar o tipo ou mimetype para uma sequência de caracteres; eles são usados para objetos. O especificador de tipo contém o tipo de dados do objeto sendo salvo. O especificador de tipo MIME mantém o tipo base (base64) das informações binárias armazenadas, se o objeto consiste dados binários.

  5. No menu File, clique em Salve WinFormStrings.resx .

  6. Fazer as etapas 1 a 5 mais duas vezes para criar mais dois arquivos de recursos chamados WinFormStrings.de-DE.resx e WinFormStrings.fr-FR.resx, com os recursos de sequência de caracteres especificados na tabela a seguir. O arquivo WinFormStrings.de-DE.resx conterá que recursos específicos para alemão falado na Alemanha. O arquivo WinFormStrings.fr-FR.resx conterá que recursos específicos para francês falado na França.

    Resource file name

    Nome

    Valor

    WinFormStrings.de-DE.resx

    strMessage

    Hallo Welt

    WinFormStrings.fr-FR.resx

    strMessage

    Bonjour le Monde

Para acessar os recursos adicionados manualmente

  1. Na caixa Code Editor, importar o namespace System.Resources no início do módulo do código.

    ' Visual Basic
    Imports System.Resources
    
    // C#
    using System.Resources;
    
  2. No modo de exibição de design, clique duas vezes no botão para exibir o código para seu manipulador de eventos Click e adicionar o código a seguir. O construtor ResourceManager leva dois argumentos. O primeiro é o nome de raiz dos recursos — isto é, o nome do arquivo de recurso sem os cultura e sufixos .RESX. O segundo argumento é o conjunto principal.

    Nessa explicação passo a passo, os namespaces não são declarados, para o primeiro argumento do construtor ResourceManager pode assumir a forma de ProjectName.ResourceFileRootName. No entanto, em um aplicativo do mundo real, você definiria a propriedade DefaultNamespace. Nesse caso, será necessário declarar o recurso com o nome de raiz totalmente qualificado do arquivo de recurso, incluindo seu namespace. Por exemplo, se o namespace padrão é MyCompany.MyApplication.MyComponent, o primeiro argumento do construtor ResourceManager talvez seja MyCompany.MyApplication.MyComponent.WinFormStrings.

    ' Visual Basic
    ' Declare a Resource Manager instance.
    Dim LocRM As New ResourceManager("WindowsApplication1.WinFormStrings", GetType(Form1).Assembly)
    ' Assign the string for the "strMessage" key to a message box.
    MessageBox.Show(LocRM.GetString("strMessage"))
    
    // C#
    // Declare a Resource Manager instance.
    ResourceManager LocRM = new ResourceManager("WindowsApplication1.WinFormStrings",typeof(Form1).Assembly);
    // Assign the string for the "strMessage" key to a message box.
    MessageBox.Show(LocRM.GetString("strMessage"));
    

    Dica

    Por padrão, o objeto ResourceManager diferencia maiúsculas de minúsculas.Se você deseja fazer pesquisas que diferencia maiúsculas de minúsculas para que "TXTWELCOME" recupere o mesmo recurso como "txtWelcome", você poderá definir a propriedade do gerente de recursos IgnoreCase para true.No entanto, por razões de desempenho, é melhor especificar sempre o caso correto para seus nomes de recursos.Fazer pesquisas que não diferencia maiúsculas de minúsculas de recursos pode causar problemas de desempenho.

  3. Criar e executar o formulário. Clique no botão.

    A caixa de mensagem irá exibir uma sequência de caracteres apropriada para a configuração de cultura de interface do usuário; ou se não é possível localizar um recurso para a cultura interface do usuário, ele irá exibir uma sequência dos recursos de fallback.

Consulte também

Tarefas

Como definir a cultura e a cultura da IU para globalização dos Windows Forms