1

フォームアイコンの1つがデザイナーに表示されているが、実行時にデフォルトのアイコンに戻るC#アプリがあります。問題のフォームは派生フォームであり、独自の.designer.csファイルはなく、派生フォームの.csファイルは空です。フォームアイコンはデザイナに正しく表示されますが、実行時にアイコンが表示されません。

派生フォームは、基本フォームとは異なるプロジェクトにあります。ベースフォームアイコンはデザイナを介して追加され、ベース.designer.csファイルには変更が加えられていません。

これを引き起こしている可能性のあるアイデアはありますか?

4

1 に答える 1

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")));

ハックな回避策は好きではありませんが、仕事はします!

于 2012-04-17T21:59:05.967 に答える