Pergunta

Quando você usa MessageBox.Show() você tem uma seleção de MessageBoxButtons para escolher. Os botões disponíveis são uma enumeração, e dar-lhe opções como "Sim Não", "OK Cancelar", etc.

Quando eu estou usando, por exemplo, texto da mensagem norueguês o usuário ainda recebe o Inglês "Sim Não".

Existe uma maneira de mudar o texto dos botões (em C #) para que a língua é a correta? Posso substituir o texto, ou definir o local atual de alguma forma para que eu possa ter "Ja Nei" em vez de "Sim não"?

Eu não quero depender de instalar um pacote de idioma .NET para o meu cliente.

Foi útil?

Solução

Não há suporte nativo para isso em .NET (tanto quanto eu sei, de qualquer maneira, por favor me corrijam se eu estiver errado, qualquer um). Eu vim através deste artigo CodeProject, que parecem fazer o truque com algum enganchando mensagem e P / Invoke: http://www.codeproject.com/KB/miscctrl/Localizing_MessageBox.aspx

Outras dicas

Normalmente messagebox botões (como todos Windows) honrar o idioma da interface atualmente definido para Windows. Então, se você tem uma instalação Inglês e não pode mudar idiomas (versões MUI ou Ultimate do Vista / 7) que você está sem sorte.

Você poderia implementar um messagebox si mesmo, mas eu peço para você não. Coisas simples como teclas de atalho comuns para os botões, que têm a capacidade de usar Ctrl + Ins para copiar o conteúdo, etc. são os que eu mais sinto falta quando as pessoas começam a reinventar rodas quadradas.

Eu não acho que isso é possível, mas consulte o artigo MSDN MessageBox.Show Método . Você pode obter algumas idéias. Você pode mudar o texto na caixa de mensagem. Que tal criar sua própria caixa de mensagem (nova forma) e exibi-los?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top