2012-04-17 46 views
1

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

派生窗体与基础窗体位于不同的项目中。基本窗体图标是通过设计器添加的,并且不对基础.designer.cs文件进行修改。

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

+0

这是在设计者还是实际运行的代码? – 2012-04-17 01:28:37

+0

该图标显示在设计器中,但不在运行时显示。使用VS2010 – 2012-04-17 01:34:07

+0

在调试器外部运行应用程序时,图标会显示吗?请参阅http://msdn.microsoft.com/en-us/library/system.windows.window.icon(v=VS.100).aspx – 2012-04-17 03:30:21

回答

1

摆弄了一会儿后,我想我的问题是有关这个bug在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"))); 

做这项工作,虽然我不喜欢哈克变通办法!