2012-04-17 56 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"))); 

做這項工作,雖然我不喜歡哈克變通辦法!