Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms 更改表单上的标签文本,设计器显示新文本,运行的程序显示旧文本_Winforms_Visual Studio 2010_Designer - Fatal编程技术网

Winforms 更改表单上的标签文本,设计器显示新文本,运行的程序显示旧文本

Winforms 更改表单上的标签文本,设计器显示新文本,运行的程序显示旧文本,winforms,visual-studio-2010,designer,Winforms,Visual Studio 2010,Designer,我更改windows窗体上标签的文本属性。表单在VS 2010表单设计器中显示时,将显示正确的新标签。我还更改字体的颜色 当我运行程序时,窗口显示旧文本值而不是新文本值。表单在标签上显示新的字体颜色 源代码中似乎没有出现旧文本值。旧文本值仍隐藏在哪里 我清理并重建了解决方案,但没有任何变化。一位同事观察到,这是将项目从VS2005转换为vs2008再转换为VS2010的产物,并提出了一种“暴力”纠正措施 它确实起作用了 1) 在项目中创建新的空白表单 2) 在原始表单中,使用表单设计器的“编辑”

我更改windows窗体上标签的文本属性。表单在VS 2010表单设计器中显示时,将显示正确的新标签。我还更改字体的颜色

当我运行程序时,窗口显示旧文本值而不是新文本值。表单在标签上显示新的字体颜色

源代码中似乎没有出现旧文本值。旧文本值仍隐藏在哪里


我清理并重建了解决方案,但没有任何变化。

一位同事观察到,这是将项目从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属性中。