我在C#中有一个Windows控制台应用程序,可以用作电话簿。我在应用程序设置菜单图标的行中收到“缺少指令”错误,例如:

cmsProgramMenu.Items.Add("&Settings", Properties.Resources.phone_receiver.ToBitmap(), OnSettings_Click);


完整错误为'object' does not contain a definition for 'ToBitmap' and no extension method 'ToBitmap' accepting a first argument of type 'object' could be found (are you missing a using directive or assembly reference?)

我在网上或网上闲逛,我看到的所有建议指令已经包含在我的代码中,但错误仍然存​​在。这些是我所拥有的:

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Configuration;
using System.Data;
using System.Windows.Media.Imaging;


还有我想念的吗?还是有另一种将图像转换为位图的方法?我在Visual Studio 2015中工作。

最佳答案

问题是Properties.Resources.phone_receiver的类型为Object,并且错误消息指出Object没有名为ToBitmap的方法。如果确定这是Icon(您的代码建议是),则可以执行以下操作:

((Icon)Properties.Resources.phone_receiver).ToBitmap()


这将Properties.Resources.phone_receiver显式转换为Icon,然后编译器知道可以在其上调用ToBitmap方法。

关于c# - .ToBitmap:缺少“使用指令”或“汇编引用”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37993421/

10-09 07:08