我不了解Visual Studio 2015 Professional的行为。 在Winforms Designer中,我编写了这段代码:
this.btC.Image = dllres.Properties.Resources.find;
除非,重新编译并找到其他代码:
this.btC.Image = ((System.Drawing.Image)(resources.GetObject("btC.Image")));
为什么会这样?
答案 0 :(得分:0)
winforms设计师在内部使用名为Global Objects
的东西。除了其他方面,这些工作用于将项目资源分配给图像属性,而不将它们转换为本地表单资源(在yourForm.resx文件中)。
如果您手动编写该代码,设计人员将不会知道它是一个全局对象(设计人员使用visual studio的IReferenceService
服务提供商分配全局对象),并将指定的图像保存到表单的本地资源,并将代码更改为您再次序列化时看到的内容。
所以你要么使用设计器(资源选择器对话框)来分配资源,要么就像生成的(.Designer.cs
)文件中的注释所说的那样,不要修改那个文件,并在表单的构造函数上分配它,在InitializeComponent()
之后