Pregunta

Al utilizar MessageBox.Show() usted tiene una selección de MessageBoxButtons para elegir. Los botones disponibles son una enumeración, y le dan opciones como "Sí No", "OK Cancelar", etc.

Cuando estoy usando, por ejemplo, texto del mensaje de Noruega el usuario todavía se pone el Inglés "Si No".

¿Hay una manera de cambiar el texto de los botones (en C #) para que el lenguaje es correcta? ¿Puedo reemplazar el texto, o establecer la localización actual de alguna manera para que yo pueda tener "Ja Nei" en lugar de "Sí no"?

No quiero depender de instalar un paquete de idioma de .NET a mi cliente.

¿Fue útil?

Solución

No hay soporte nativo para esto en .NET (por lo que yo sé, de todos modos, por favor, corríjanme si me equivoco, nadie). Me llegó a través de este artículo CodeProject, que parece hacer el truco con un poco de enganche mensaje y P / Invoke: http://www.codeproject.com/KB/miscctrl/Localizing_MessageBox.aspx

Otros consejos

Por lo general, los botones MessageBox (como todos) de Windows honran el idioma de interfaz de usuario configurado actualmente para Windows. Así que si usted tiene una instalación Inglés y no puede cambiar idiomas (versiones MUI o Ultimate para Vista / 7) que está de suerte.

Se podría implementar un cuadro de mensaje a sí mismo, pero me gustaría pedir que no lo hiciera. Cosas tan simples como teclas de acceso rápido comunes para los botones, que tienen la capacidad de utilizar Ctrl + Ins para copiar el contenido, etc son los que más extraño cuando la gente comienza a reinventar ruedas cuadradas.

No creo que es posible, pero consulte el artículo de MSDN MessageBox.Show Método . Usted puede obtener algunas ideas. Usted puede cambiar el texto en el cuadro de mensaje. ¿Qué pasa con la creación de su buzón de mensajes (nueva forma) y mostrarlos?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top