Winforms 更改表单上的标签文本,设计器显示新文本,运行的程序显示旧文本
我更改windows窗体上标签的文本属性。表单在VS 2010表单设计器中显示时,将显示正确的新标签。我还更改字体的颜色 当我运行程序时,窗口显示旧文本值而不是新文本值。表单在标签上显示新的字体颜色 源代码中似乎没有出现旧文本值。旧文本值仍隐藏在哪里Winforms 更改表单上的标签文本,设计器显示新文本,运行的程序显示旧文本,winforms,visual-studio-2010,designer,Winforms,Visual Studio 2010,Designer,我更改windows窗体上标签的文本属性。表单在VS 2010表单设计器中显示时,将显示正确的新标签。我还更改字体的颜色 当我运行程序时,窗口显示旧文本值而不是新文本值。表单在标签上显示新的字体颜色 源代码中似乎没有出现旧文本值。旧文本值仍隐藏在哪里 我清理并重建了解决方案,但没有任何变化。一位同事观察到,这是将项目从VS2005转换为vs2008再转换为VS2010的产物,并提出了一种“暴力”纠正措施 它确实起作用了 1) 在项目中创建新的空白表单 2) 在原始表单中,使用表单设计器的“编辑”
我清理并重建了解决方案,但没有任何变化。一位同事观察到,这是将项目从VS2005转换为vs2008再转换为VS2010的产物,并提出了一种“暴力”纠正措施 它确实起作用了 1) 在项目中创建新的空白表单 2) 在原始表单中,使用表单设计器的“编辑”菜单,使用“全选”和“复制”操作。这会将所有窗体对象复制到剪贴板中 < P > 3)将剪贴板粘贴到空白窗体中。 4) 将(大部分)程序代码从旧表单复制到新表单中,不包括表单设计器生成的任何内容 5) 从项目中删除旧表单。根据需要进行更改以使用新表单 不是很优雅,但适合在最后期限前完成 谢谢你,J.H Epilog: “Brian”和“Blogbeard”在建议隐藏资源文件方面都有正确的方向 在代码执行的早期,对一个不知名的子系统进行了方法调用,但没有人知道任何事情。这个子系统原来是一个不存在的语言翻译模块,它应该将所有标签以某种形式从一种母语翻译成一种目标语言 它被配置为将原始标签及其翻译保存在IDE范围之外的文件中。如果翻译人员在其文件中找到标签名称,则表单本身的更改将被完全忽略 将表单内容移动到另一个包实际上禁用了翻译器
这个优雅的解决方案变成了一个三行更改,删除了对转换器的方法调用。(应用程序中不再需要它)请同时发布您的代码。请尝试完全删除您的
bin
文件夹。还可以尝试查找标签的所有引用:可能是从资源文件或类似文件加载了文本。您还可以检查.text
和文件中的.Designer.cs
属性。谢谢您的建议。这是一个旧的vb.net项目。生成的设计器代码似乎嵌入在Form1.vb代码中,而不是单独的部分类文件中。文本属性设置为新值。我甚至无法确定旧文本值存在的位置。我确实删除了bin和obj文件夹。我确实查找了对标签名称的所有引用,但没有发现任何错误。是否存在保留旧文本值的隐藏资源文件或注册表存储?程序似乎将新值设置到.text属性中。