VS2015中代码奇怪的变化

时间:2016-06-18 17:42:57

标签: c# winforms visual-studio-2015

我不了解Visual Studio 2015 Professional的行为。 在Winforms Designer中,我编写了这段代码:

this.btC.Image = dllres.Properties.Resources.find;

除非,重新编译并找到其他代码:

this.btC.Image = ((System.Drawing.Image)(resources.GetObject("btC.Image")));

为什么会这样?

1 个答案:

答案 0 :(得分:0)

winforms设计师在内部使用名为Global Objects的东西。除了其他方面,这些工作用于将项目资源分配给图像属性,而不将它们转换为本地表单资源(在yourForm.resx文件中)。

如果您手动编写该代码,设计人员将不会知道它是一个全局对象(设计人员使用visual studio的IReferenceService服务提供商分配全局对象),并将指定的图像保存到表单的本地资源,并将代码更改为您再次序列化时看到的内容。

所以你要么使用设计器(资源选择器对话框)来分配资源,要么就像生成的(.Designer.cs)文件中的注释所说的那样,不要修改那个文件,并在表单的构造函数上分配它,在InitializeComponent()之后