应用图标

时间:2009-04-07 10:31:34

标签: c# winforms winapi

我有3个图标。当我编译应用程序时,我使用第一个图标 - 主应用程序图标 我在资源方面还有2个其他图标。

当我显示MessageBox.Show(...)时,第一个应用程序图标出现在任务栏中。 我希望能够在某些时候在运行时更改主图标。

6 个答案:

答案 0 :(得分:1)

我不认为这是直截了当的,看看这个article它可能会帮助你。

答案 1 :(得分:1)

您可以使用P / Invoke调用Windows MessageBoxIndirect功能来更改消息框内显示的图标。

答案 2 :(得分:1)

虽然这里已经提到了关于P / Invoke的内容 - 如果您不想编写自己的MessageBox,有一篇关于更改图标http://www.codeproject.com/KB/dialog/MessageBoxIndirectCS.aspx的好文章。

答案 3 :(得分:1)

System.Drawing .Icon ica= new Icon (Application.StartupPath + "\\" + "my_new_icon.ico");

 this.Icon = ica; //This is an Active Form   

答案 4 :(得分:0)

我不确定您是否可以更改标准MessageBox的图标。您可能必须制作自己的MesageBox。然后它只是改变标准winform的图标。 MSDN和许多可以在Google上找到的网页都有详细记录。

答案 5 :(得分:0)

我很确定标准的MessageBox.Show()方法无法显示自定义图标(您可以在枚举中指定几个不同的图标,但不能在其中添加任意图标),但是如果您有一个普通的.NET表单,只需将'Icon'属性设置为您想要的图像即可。在运行时执行此操作时,可能需要之前和之后的正常挂起/恢复布局调用,或者它们可能不会,我不知道,但在表单上设置属性不应该是一项繁重的工作。