这是一道面试题。鉴于 Visual Studio 2008 和一个保存为 .PNG 文件的图标,他们需要将图像作为嵌入式资源并用作表单标题栏中的图标。
我正在寻找这个问题的模型答案,包括(有效!)代码和任何 Visual Studio 技巧。 (标准答案是如果我下次遇到它应该能让我得到这份工作的答案。)
具体来说,我不知道如何在图像成为嵌入式资源后加载它,也不知道如何将它作为标题栏的图标。
作为部分解决方案,忽略嵌入位,我将资源复制到输出目录并尝试了以下操作:-
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Icon = new Icon("Resources\\IconImage.png");
}
}
失败并出现错误“参数‘图片’必须是可用作图标的图片。”
我假设 .PNG 文件实际上需要是 .ICO,但我看不出如何进行转换。这个假设是正确的还是存在其他问题?
最佳答案
启动 VS,启动新的 Windows 应用程序。打开属性表,将 .png 文件添加为资源(在本例中为: glider.png )。从这里开始,您可以访问作为位图文件的资源,如 WindowsFormsApplication10.Properties.Resources.glider
将其用作应用程序图标的代码:
public Form1()
{
InitializeComponent();
Bitmap bmp = WindowsFormsApplication10.Properties.Resources.glider;
this.Icon = Icon.FromHandle(bmp.GetHicon());
}
关于c# - 得到 .PNG 文件。希望嵌入的图标资源在表单标题栏上显示为图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/154119/