我有一个C#应用程序,其中一个表单图标在设计器中可见,但在运行时恢复为默认图标。有问题的表单是派生表单,没有自己的.designer.cs文件,派生表单.cs文件为空。表单图标正确显示在设计器中,但在运行时缺少图标。
派生表单与基本表单位于不同的项目中。基本表单图标是通过设计器添加的,并且未对基本.designer.cs文件进行任何修改。
任何可能导致此问题的想法?
答案 0 :(得分:1)
稍微讨论一下之后,我认为我的问题与VS中的这个错误有关:https://connect.microsoft.com/VisualStudio/feedback/details/106264/mdi-form-icon-formborderstyle-windowstate-maximized#tabs
我通过将Icon重新添加到派生表单(使用设计器)解决了我的问题,然后还必须使用以下
添加_Load处理程序System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MyForm));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
这份工作,虽然我不喜欢hacky变通办法!