0

外部アイコンパスを埋め込みリソースアイコンに変更する方法を知っている人はいますか?

例:ToolBoxItemのアイコンを変更したい。アイコンへのパスを設定する可能性しかありません。画像を直接設定することはできません。

new ToolboxItemWrapper(typeof (MyItem9), "C:\\tmp\\item9.ico", "Item9"),

このパスを埋め込みリソースファイルのパスに変更したい:

new ToolboxItemWrapper(typeof (MyItem9), "MyAssembly.Resources.myIcon.ico", "Item9"),

これを行う可能性はありますか?または、アイコンを直接設定する可能性さえありますか?

ありがとう、エル

4

3 に答える 3

0

のファイルパスを除くハードコードされたパラメータ(2番目のパラメータ)の署名を変更しない限り

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"),
于 2009-11-25T10:14:51.740 に答える
0

わあ、あなたの投稿を読み間違えました。パスからのみアイコンを直接設定することはできません

string res = "MyAssembly.Resources.myIcon.ico";
Stream s = this.GetType().Assembly.GetManifestResourceStream( res );
Icon icon = Icon.FromStream( s );
于 2009-11-25T10:23:18.360 に答える
0

これを解決する方法がわからなかったので、「汚い」回避策を作成しました。アイコンをtempフォルダーに保存し、この場所で参照しました。これは機能しますが、あまりクリーンなソリューションではありません。

于 2009-11-30T09:02:20.957 に答える