代码之家  ›  专栏  ›  技术社区  ›  26071986

更改MessageBox按钮文本的语言

  •  2
  • 26071986  · 技术社区  · 14 年前

    我想让MessageBox按钮上的文本,比如说,用俄语、法语等-不同于Windows默认设置的语言。

    3 回复  |  直到 14 年前
        1
  •  3
  •   Hans Passant    14 年前

    避免在这上面花费大量的时间和精力。你的应用程序的用户总是会得到她熟悉的消息框。它将显示与她的语言相匹配的文本,就像其他窗口一样。一个以俄语为母语的人不需要马上换成法语。如果她真的这样做了,那么她就会为Windows的最终版本购买一个许可证,允许快速更改Windows语言。

    你的应用程序也会这样做,只要你没有覆盖默认的区域性并且已经本地化了你的应用程序。请注意,重写UI线程的默认区域性是一件非常危险的事情,.NET使用的线程池线程(或您使用的线程池线程)仍然以默认语言运行。由于不同的字符串比较规则,这可能会导致非常微妙的问题。例如,在一个线程中填充的SortedList将突然不再在另一个线程中排序,从而导致二进制搜索出现故障。

        2
  •  1
  •   devnull    14 年前

    这个 System.Windows.Forms.MessageBox MessageBox 函数存在于 user32.dll 它使用当前系统语言显示按钮上的文本。我不知道是否有一种方法可以覆盖它,滚动你自己的消息框看起来是最好的选择。

        3
  •  0
  •   Ruel    14 年前

    更改 Localizable 以您的形式 是的 Language 财产。