namespace XUWEI.LibNetUI
{
/// <summary>
/// xwOptionView 的摘要说明。
/// </summary>
///
[GuidAttribute("80DB7A46-5946-4d67-AD1F-408E334F7179")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsDual)]
public interface IOptionListView
{
int AddPage(string PageName);
void AddPageItem(int pageIndex,string Title,string Value);
};
[GuidAttribute("B31BA317-A193-48e1-897E-6BC4D6B39AA0")]
public class xwOptionView : System.Windows.Forms.UserControl,IOptionListView
{
private ImageList m_imageList;
.............
}
其中变量m_imageList 是我用ImageList控件生成的变量,并使用属性窗口添加了两个图标,结果
控件再使用中老是出错,出错原因为:
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(xwOptionView));
this.m_imageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("m_imageList.ImageStream")));
this.m_imageList.TransparentColor = System.Drawing.Color.Transparent;
-----------------------------------------------------------------------------------
this.m_imageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("m_imageList.ImageStream")));
程序执行到这句话的时候老是题是找不到资源?
不知道为什么?我用 reflector.exe 查看这个控件的dll可以看到这个m_imageList.ImageStream
为什么程序中会出错哪?
8 个解决方案
#1
没有人知道原因?????!!!!!!!!!!!!!!
#2
??????
#3
经过我的分析如果去掉接口定义的代码,资源就可以正确的定位了,为什么加上接口定义就不能找到资源了。
----
[GuidAttribute("80DB7A46-5946-4d67-AD1F-408E334F7179")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsDual)]
public interface IOptionListView
{
int AddPage(string PageName);
void AddPageItem(int pageIndex,string Title,string Value);
};
-------
去掉这部分代码就可以发现资源
----
[GuidAttribute("80DB7A46-5946-4d67-AD1F-408E334F7179")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsDual)]
public interface IOptionListView
{
int AddPage(string PageName);
void AddPageItem(int pageIndex,string Title,string Value);
};
-------
去掉这部分代码就可以发现资源
#4
ildasm一下,看看你的resource的全称是什么?
一般的,是:XUWEI.LibNetUI.类名.资源名
一般的,是:XUWEI.LibNetUI.类名.资源名
#5
我查看了,资源的全名是LibNetUI.xwOptionView.resources
奇怪的就是,如果我不加接口定义,就可以找到资源,如果加上接口定义就找不到资源为什么?
奇怪的就是,如果我不加接口定义,就可以找到资源,如果加上接口定义就找不到资源为什么?
#6
奇怪的是如果我定义了接口 IOptionListView 程序就生成了两个资源文件。一个是
LibNetUI.xwOptionView.resources
一个是XUWEI.LibNetUI.xwOptionView.resources
如果我不定义接口程序就生成一个资源文件
XUWEI.LibNetUI.xwOptionView.resources
LibNetUI.xwOptionView.resources
一个是XUWEI.LibNetUI.xwOptionView.resources
如果我不定义接口程序就生成一个资源文件
XUWEI.LibNetUI.xwOptionView.resources
#7
http://www.microsoft.com/china/MSDN/library/netFramework/netframework/Nfdnformswinforms02202003.mspx
#8
学习,并帮你up
#1
没有人知道原因?????!!!!!!!!!!!!!!
#2
??????
#3
经过我的分析如果去掉接口定义的代码,资源就可以正确的定位了,为什么加上接口定义就不能找到资源了。
----
[GuidAttribute("80DB7A46-5946-4d67-AD1F-408E334F7179")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsDual)]
public interface IOptionListView
{
int AddPage(string PageName);
void AddPageItem(int pageIndex,string Title,string Value);
};
-------
去掉这部分代码就可以发现资源
----
[GuidAttribute("80DB7A46-5946-4d67-AD1F-408E334F7179")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsDual)]
public interface IOptionListView
{
int AddPage(string PageName);
void AddPageItem(int pageIndex,string Title,string Value);
};
-------
去掉这部分代码就可以发现资源
#4
ildasm一下,看看你的resource的全称是什么?
一般的,是:XUWEI.LibNetUI.类名.资源名
一般的,是:XUWEI.LibNetUI.类名.资源名
#5
我查看了,资源的全名是LibNetUI.xwOptionView.resources
奇怪的就是,如果我不加接口定义,就可以找到资源,如果加上接口定义就找不到资源为什么?
奇怪的就是,如果我不加接口定义,就可以找到资源,如果加上接口定义就找不到资源为什么?
#6
奇怪的是如果我定义了接口 IOptionListView 程序就生成了两个资源文件。一个是
LibNetUI.xwOptionView.resources
一个是XUWEI.LibNetUI.xwOptionView.resources
如果我不定义接口程序就生成一个资源文件
XUWEI.LibNetUI.xwOptionView.resources
LibNetUI.xwOptionView.resources
一个是XUWEI.LibNetUI.xwOptionView.resources
如果我不定义接口程序就生成一个资源文件
XUWEI.LibNetUI.xwOptionView.resources
#7
http://www.microsoft.com/china/MSDN/library/netFramework/netframework/Nfdnformswinforms02202003.mspx
#8
学习,并帮你up