我用c ++ windows form写了一个窗口UI。我想创建一个字符串表来本地化表单。我的步骤是:
1.我将表格设置为localizable = true
2.添加一个名为(项目名称).en-US.resx的新.resx文件并编辑字符串表
3.使用类似的代码设置组件文本
this->button1->Text = resources->GetString("CLOSE");
完成文本设置后,我构建项目并执行它,按钮真正显示文本。但是,如果我修改UI(如添加组件或更改按钮的位置),则在我再次构建之后文本将消失。代码有什么问题?文本怎么总是显示?否则,如果我修改表格><,我需要再次设置。感谢任何人的帮助。
答案 0 :(得分:0)
不要更改设计器生成的代码。 InitializeComponent()方法中的任何内容。当您在设计器中进行另一次更改并重新生成方法时,此类更改将消失。构造函数中的代码是可以的,将它放在InitializeComponent()调用之后。
本地化表单的更好过程是让设计人员生成.resx文件和代码。将表单的Language属性更改为所需的语言,然后更改属性网格中的Text属性。无需其他代码。