MDIアプリケーションでは、MDI子フォームが最大化されると、フォームのアイコンが親フォームの左側に表示されるコンテキストメニューアイコンとして使用されますMenuStrip。 MDIアプリケーションで使用されるフォームのアイコンを16x16よりも大きなものに設定すると(アイコンは32x32を使用しています)、アイコンはスケーリングされずに描画され、メニューはサイズに合わせてサイズが変更されます。 ICOファイルにアイコンの16x16バージョンも含まれている場合は、正常に動作することに注意してください。親フォームのMenuStripで最大化されたMDI子によって使用されるアイコンのスケーリング
以下の挙動を示している基本的なアプリケーションを作成:true
MenuStrip
新しいを作成- を書式、電話番号
MdiChildForm
MdiChildForm
のアイコンを32x32 ICOファイルのに設定しますForm1
でClick
イベントハンドラを作成し、以下を追加し、それをダブルクリックして、メニュー項目を追加します。var child = new MdiChildForm(); child.MdiParent = this; child.Show(); child.WindowState = FormWindowState.Maximized;
ビルドと実行を、メニュー項目をクリックし
メニュー項目を再度クリックするとアイコンがデフォルトのアイコンに変わりますが、これはthis questionに記載されていますが、ここで問題にはなりません。
私はこれが「設計」として記述されると確信していますが、それにもかかわらず、迷惑です。コンテキストメニューのアイコンを強制的に縮小し、ソースアイコンのサイズを変更する方法はありますか?おそらくこれもやっていますが、私はコード内で何かをキャッチオールしています。
+1これはセクシーな解決策の始まりのようです。 –