MessageBox按钮 – 设置语言?

当您使用MessageBox.Show()时,您可以选择MessageBoxButtons进行选择。 可用的按钮是枚举,并为您提供“是否”,“确定取消”等选项。

例如,当我使用Norwegian messagetext时,用户仍然会获得英语“Yes No”。

有没有办法更改按钮的文本(在C#中),以便语言正确? 我可以覆盖文本,或以某种方式设置当前区域设置,以便我可以使用“Ja Nei”而不是“是否”吗?

我不想依赖在我的客户端安装.NET语言包。

在.NET中没有本机支持(据我所知,无论如何;如果我错了,请纠正我,任何人)。 我确实遇到过这篇CodeProject文章,它似乎通过一些消息挂钩和P / Invoke来解决这个问题: http : //www.codeproject.com/KB/miscctrl/Localizing_MessageBox.aspx

通常,消息框按钮(与所有Windows一样)都支持Windows当前设置的UI语言。 因此,如果您有英语安装并且无法更改语言(MUI版本或Ultimate for Vista / 7),那么您将失去运气。

你可以自己实现一个消息框但是我求你不要。 简单的事情,如按钮的常用热键,能够使用Ctrl + Ins复制内容等,是人们开始重新制作方形轮时我最想念的。

我认为不可能,但请参阅MSDN文章MessageBox.Show方法 。 你可能会得到一些想法。 您可以在消息框中更改文本。 如何创建自己的消息框(新表单)并显示它们?