Question Les boutons MessageBox - définissent la langue?


Lorsque vous utilisez MessageBox.Show (), vous avez une sélection de MessageBoxButtons à choisir Les boutons disponibles sont une énumération et vous donnent des options comme "Oui Non", "OK Annuler", etc.

Lorsque j'utilise, par exemple, le messagetext norvégien, l'utilisateur obtient toujours l'anglais «Yes No».

Est-il possible de changer le texte des boutons (en C #) pour que le langage soit correct? Puis-je remplacer le texte ou définir les paramètres régionaux de manière à avoir "Ja Nei" au lieu de "Oui Non"?

Je ne veux pas compter sur l'installation d'un pack de langue .NET chez mon client.


17
2018-05-30 22:18


origine


Réponses:


Il n'y a pas de support natif pour cela dans .NET (pour autant que je sache, de toute façon, veuillez me corriger si je me trompe, n'importe qui). Je suis tombé sur cet article de CodeProject, qui semble faire l'affaire avec certains accroches de messages et P / Invoke: http://www.codeproject.com/KB/miscctrl/Localizing_MessageBox.aspx


21
2018-05-30 22:28



Généralement, les boutons Messagebox (comme tous les Windows) respectent la langue de l'interface utilisateur actuellement définie pour Windows. Donc, si vous avez une installation en anglais et que vous ne pouvez pas changer de langue (versions MUI ou Ultimate pour Vista / 7), vous n'avez pas de chance.

Vous pourriez implémenter vous-même un messagebox mais je vous prie de ne pas le faire. Des choses simples comme les raccourcis clavier habituels pour les boutons, ayant la possibilité d'utiliser Ctrl + Ins pour copier le contenu, etc. sont celles qui me manquent le plus lorsque les gens commencent à réinventer les roues carrées.


13
2018-05-30 22:29



Je ne pense pas que ce soit possible, mais référez-vous à l'article MSDN Méthode MessageBox.Show. Vous pouvez avoir des idées. Vous pouvez modifier le texte dans la boîte de message. Qu'en est-il de la création de votre propre boîte de message (nouveau formulaire) et de son affichage?


1
2018-05-30 22:29