我想让MessageBox的按钮上的文本使用俄语,法语等 - 与Windows中默认设置的语言不同。更改MessageBox按钮文本的语言
有没有办法做到这一点,而不创建我的自定义MessageBoxes?
我想让MessageBox的按钮上的文本使用俄语,法语等 - 与Windows中默认设置的语言不同。更改MessageBox按钮文本的语言
有没有办法做到这一点,而不创建我的自定义MessageBoxes?
避免花费大量的时间和精力。你的应用的用户将永远得到她熟悉的消息框。它会显示与她的语言相匹配的文本,就像Windows的其他部分一样。有人说俄语作为母语并不需要在飞行中切换到法语。如果她真的这么做了,那么她会购买Windows版旗舰版的许可证,以便快速更改Windows语言。
只要您不覆盖默认文化并且已经本地化了您的应用,您的应用就会效仿。请注意,重写UI线程的默认文化是一件非常危险的事情,.NET使用的线程池线程(或者您也可以)仍然以默认语言运行。由于字符串比较规则的不同,这可能会导致非常微妙的问题。例如,一个线程中填充的SortedList会突然不会在另一个线程中被排序,导致二分查找失效。
System.Windows.Forms.MessageBox
基于user32.dll
中的MessageBox
函数,该函数使用当前系统语言在按钮上显示文本。我不知道是否有重写的方法,并且滚动自己的消息框看起来像可用的最佳选项。
谢谢,像往常一样好的答案。 – 26071986 2010-10-04 18:23:38