1

我通过将类型参数添加到Form1.cs和中添加了一个类型参数Form1.Designer.cs

partial class Form1<T> { ... }

这一直有效,直到我将任何资源添加到我的表单中,比如一个图标。当我这样做时,会添加此行:

ComponentResourceManager resources = new ComponentResourceManager(typeof(Form1));

如果我将typeof(Form1<T>)其更改为可以编译但在运行时我会得到

找不到适合指定区域性或中性区域性的任何资源。确保 在编译时"My.Assembly.Form1'1.resources"正确嵌入或链接到程序集中"My.Assembly,或者所有所需的附属程序集都是可加载的并且完全签名。

尝试typeof(Form1<T>).GetGenericTypeDefinition()也失败了。如何使用通用表单的资源?

4

1 回答 1

1

这里已经提出了一个问题 - http://connect.microsoft.com/VisualStudio/feedback/details/115397/component-resource-manager-doesnt-work-with-generic-form-classes

但是,SO有一个解决方案。看这里 -

https://stackoverflow.com/a/1627605/763026

于 2012-06-11T16:43:06.143 回答