7

我正在尝试使用作为资源添加的图标作为按钮上的图像。我知道这是可能的,因为我可以通过设计师在其他项目中做到这一点。但是,我正在尝试用代码来做到这一点。我按照此问题已接受答案中的步骤将图标作为资源添加到我的项目中。该资源名为CancelButtonIcon.

现在,我正在尝试使用以下代码将该图标添加为标准按钮上的图像:

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

但是,我收到一条错误消息:

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

在我使用设计器时 Visual Studio 自动生成的代码中,如下所示:

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

这是通过“属性”窗口手动添加资源的结果。如何将此图标资源转换为图像以便可以在按钮上使用?通过设计器添加它不是一种选择(此按钮是以编程方式创建的,因此在设计器中不存在)。

4

2 回答 2

15

您可以Icon.ToBitmap为此目的使用该方法。注意 aBitmap是一个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 回答