【问题标题】:Application Icon应用程序图标
【发布时间】:2009-04-07 10:31:33
【问题描述】:

我有 3 个图标。当我编译应用程序时,我使用第一个图标 - 主应用程序图标。
我在资源中还有另外 2 个图标。

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

【问题讨论】:

    标签: c# winforms winapi


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您可以通过使用 P/Invoke 调用 Windows MessageBoxIndirect 函数来更改消息框中显示的图标。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:
          System.Drawing .Icon ica= new Icon (Application.StartupPath + "\\" + "my_new_icon.ico");
          
           this.Icon = ica; //This is an Active Form   
          

          【讨论】:

            【解决方案5】:

            我不确定您是否可以更改标准 MessageBox 的图标。您可能必须制作自己的 MessageBox。然后它只是更改标准winform的图标。这已在 MSDN 和可通过 Google 找到的许多页面上广泛记录。

            【讨论】:

              【解决方案6】:

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

              【讨论】:

                猜你喜欢
                • 2014-07-28
                • 1970-01-01
                • 1970-01-01
                • 2012-04-24
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多