Dan*_*iel 6 c# localization winforms
我有一个基本语言英语的WinForms应用程序.我将表单本地化为德语.德语中的某些单词比英语单词更长,所以我需要在德语版本的表单上移动一些控件.问题是当我移动英语控件时,德国本地化并不反映运动(显然).
然而,有些控件被错误地移动了,我想重置它们,因此它们在英语表单上的移动也反映在德语表格上.
如何重置德语表单上单个控件的位置和大小(或所有属性),以便在英语表单上移动时控件将在表单的两种语言版本上移动?除了深入了解本地化的.resx文件并删除控件的所有属性赋值之外,还有其他方法吗?
我是Visual Studio开发人员的本地化产品的作者(为了充分披露).您从本地化的".resx"文件中删除的任何属性(在Visual Studio窗体设计器中或在".resx"文件本身中手动)将使控件再次遵循该属性的默认语言值.但是没有特定的功能来处理这个问题.您需要在逐个控制的基础上自己完成.但请注意,Visual Studio有时会出现问题,并且存在各种错误,因为这个问题和其他问题,所以即使您使用设计器删除它们也不会总是有效(上次我查看了这种情况).除非它现在已经修复(我对此表示怀疑),如果你将德国控件的"Location"属性设置回默认语言的"Location"属性(例如在设计器中),VS应该删除"Location"属性".de.resx"文件.它确实 - 有时候.其他时候它没有(去图),你需要自己手动删除它.一旦它消失,"回退"过程将确保再次使用默认语言属性(因此在您的案例中移动英文版本的控件将移动到德语版本,因为两者都再次依赖相同的属性 - 英文".resx"文件中的那个.