7

ボタンの画像として、リソースとして追加したアイコンを使用しようとしています。デザイナーを通して他のプロジェクトでもできるので、それが可能だと思います。しかし、私はこれをコードで行おうとしています。この質問に対する受け入れられた回答の手順に従って、プロジェクトにリソースとしてアイコンを追加しました。リソースの名前はCancelButtonIconです。

今、私はこのコードで標準ボタンの画像としてそのアイコンを追加しようとしています:

this.CancelButton.Image = (System.Drawing.Image)Properties.Resources.CancelButtonIcon;

ただし、次のエラーメッセージが表示されます。

Cannot convert type 'System.Drawing.Icon' to 'System.Drawing.Image'

Designerを使用したときにVisualStudioが自動的に生成するコードでは、次のようになります。

((System.Drawing.Image)(resources.GetObject("SaveButton.Image")));

これは、[プロパティ]ウィンドウからリソースを手動で追加した結果です。このアイコンリソースを画像に変換して、ボタンで使用できるようにするにはどうすればよいですか?デザイナを介して追加することはオプションではありません(このボタンはプログラムで作成されるため、デザイナには表示されません)。

4

2 に答える 2

15

Icon.ToBitmapこの目的のためにメソッドを使用できます。Bitmapaは。であることに注意してくださいImage

CancelButton.Image = Properties.Resources.CancelButtonIcon.ToBitmap();
于 2012-06-22T19:26:50.650 に答える
1

理由はわかりませんが、受け入れられた回答のアプローチを使用しようとしたときはいつでも、.ToBitmap()呼び出しによって配列インデックスの範囲外の例外が発生していました。私は代わりにこのようにすることでこれを解決しました:

System.Drawing.Icon.FromHandle(Properties.Resources.CancelButtonIcon.Handle).ToBitmap();
于 2014-06-04T14:53:11.980 に答える