【问题标题】:Icon not shown at runtime in derived Windows form图标在运行时未以派生的 Windows 形式显示
【发布时间】:2012-04-17 00:53:01
【问题描述】:

我有一个 C# 应用程序,其中我的一个表单图标在设计器中可见,但在运行时恢复为默认图标。有问题的表单是派生表单,没有自己的 .designer.cs 文件,派生表单 .cs 文件为空。表单图标在设计器中正确显示,但在运行时图标丢失。

派生表单与基本表单位于不同的项目中。基本表单图标是通过设计器添加的,没有对基本 .designer.cs 文件进行任何修改。

任何想法可能导致这种情况?

【问题讨论】:

  • 这是在设计器中还是实际运行代码?
  • 图标在设计器中显示,但在运行时不显示。使用VS2010
  • 在调试器之外运行应用程序时是否显示图标?见msdn.microsoft.com/en-us/library/…
  • @DanBusha 这是一个 Windows.Forms 问题(不是 WPF),顺便说一句,我只在 .NET3.5 上运行。我在下面找到了解决方法/解决方案。

标签: c# winforms


【解决方案1】:

经过一番折腾,我认为我的问题与VS中的这个错误有关:https://connect.microsoft.com/VisualStudio/feedback/details/106264/mdi-form-icon-formborderstyle-windowstate-maximized#tabs

我通过将图标重新添加到派生表单(使用设计器)解决了我的问题,然后还必须添加一个带有以下内容的 _Load 处理程序

System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MyForm));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));

工作正常,虽然我不喜欢 hacky 变通办法!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-11
    • 2019-10-22
    • 2017-02-10
    • 2017-06-23
    • 2012-12-03
    • 2016-08-15
    相关资源
    最近更新 更多