WinForms - 本地化 - UI 控件位置在附加文化中不同

标签 winforms visual-studio-2008 localization

我做了我的 UI 设置。原始语言是英语。之后,我将 Localizable 属性设置为 True。将原始 resx 文件复制到 frmMain.de-De.resx(例如)。翻译所有字符串。一切正常。

但现在我想改变控件的位置。之后更改可见 只有原始/初级文化 (En)。当我将 Culture 更改为 de-De 时,UI 控件位于“旧位置”(?!)

这是正常行为吗? :O 本地化后我无法更改表单上的控件位置?

有人可以向我解释这一点并提供一些最佳解决方案。我真的必须更改 UI 设计,但我不想再次手动复制所有已翻译的字符串。

如果我的描述不清楚,那么我可以发布源代码,请告诉我。我使用 VS 2008。

问候!

最佳答案

如果您在设计器中选择表单本身,并查看属性,则应该有一个字段语言。

在设计表单时将其保留为默认值:这是没有特定布局的语言的默认布局。现在,如果您想要另一种语言的不同布局甚至不同的标签,请从“语言”属性中选择正确的区域性并开始设计表单。

通过这样做,对默认(在您的情况下是英语)布局的更改将不会反射(reflect)在特定语言的表单上。这是它应该工作的方式,语言的布局是完全独立的。

关于WinForms - 本地化 - UI 控件位置在附加文化中不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2536191/

相关文章:

c++ - 如何以最高精度存储 double

flash - 什么是最好的免费 XLIFF 编辑器?

c# - 检测组合键事件

.net - 为什么非法跨线程*未*被检测到?

.net - 我应该如何在这段 winform 代码中使用 IoC?

visual-studio - 在 Visual Studio 2008 中,是否有一种简单的方法可以确定类是在哪个 dll 中定义的?

c# - 构建失败,因为找不到 AL.exe

c# - 使用 C# Windows 窗体进行本地化,无法访问我的 .resx 文件

localization - 如何用Three.js显示汉字

spring - 如何捕获 Spring 消息 JstTagException?