有谁知道如何将外部图标路径更改为嵌入式资源图标?
示例:我想更改ToolBoxItem的图标。我只能设置图标的路径。直接设置图片不起作用:
new ToolboxItemWrapper(typeof (MyItem9), "C:\\tmp\\item9.ico", "Item9"),
我想将此路径更改为嵌入式资源文件的路径:
new ToolboxItemWrapper(typeof (MyItem9), "MyAssembly.Resources.myIcon.ico", "Item9"),
有可能这样做吗?或者是否有可能直接设置图标?
谢谢, EL
答案 0 :(得分:0)
除非您更改
中除文件路径之外的硬编码参数(第二个)的签名new ToolboxItemWrapper(typeof (MyItem9), "C:\\tmp\\item9.ico", "Item9"),
除了与此代码相同的结果外,你不能这样做。
ToolboxItemWrapper(typeof (MyItem9), "MyAssembly.Resources.myIcon.ico", "Item9"),
但你可以这样做,
创建ToolboxItemWrapper
类似
public class ToolboxItemWrapper
{
public ToolboxItemWrapper(Type t,Image img, string prop)
{
/*Do setup as in*/
}
}
稍后你可以这么做,
new ToolboxItemWrapper(typeof (MyItem9), Properties.Resources.YourImage, "Item9"),
答案 1 :(得分:0)
笨蛋,误读了你的帖子。您不能直接设置图标,只能从路径
string res = "MyAssembly.Resources.myIcon.ico";
Stream s = this.GetType().Assembly.GetManifestResourceStream( res );
Icon icon = Icon.FromStream( s );
答案 2 :(得分:0)
我无法弄清楚如何解决这个问题所以我做了一个“脏”的解决方法:我将图标保存在临时文件夹中并在这个地方引用它们。这有效,但它不是一个非常干净的解决方案。