DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

メニュー項目を太字で表示する

例えばエクスプローラでファイルを右クリックした時、表示されるコンテキストメニューの「開く(O)」という項目だけが太字になっていたりします。これは、その項目がデフォルトのメニュー項目であり、そのファイルをダブルクリックすると「開く(O)」が選択されることを示しています。ここではこのようにメニュー項目を太字で表示する方法を紹介します。

MenuStripコントロールの場合

.NET Framework 2.0以降でMenuStripコントロールを使用している場合は、太字にしたい項目のToolStripMenuItem.FontプロパティのBoldをtrueにします。

プロパティウィンドウでBoldをtrueにする

次に、「copyToolStripMenuItem」というToolStripMenuItemを太字にする例を示します。

VB.NET
コードを隠すコードを選択
'現在のフォントを覚えておく
Dim oldFont As Font = copyToolStripMenuItem.Font
'現在のフォントにBoldを付加したフォントを作成する
'なおBoldを取り消す場合は、「oldFont.Style And Not FontStyle.Bold」とする
Dim newFont As New Font(oldFont, oldFont.Style Or FontStyle.Bold)
'Boldを付加したフォントを設定する
copyToolStripMenuItem.Font = newFont
'前のフォントを解放する
oldFont.Dispose()
C#
コードを隠すコードを選択
//現在のフォントを覚えておく
Font oldFont = copyToolStripMenuItem.Font;
//現在のフォントにBoldを付加したフォントを作成する
//なおBoldを取り消す場合は、「oldFont.Style & ~FontStyle.Bold」とする
Font newFont = new Font(oldFont, oldFont.Style | FontStyle.Bold);
//Boldを付加したフォントを設定する
copyToolStripMenuItem.Font = newFont;
//前のフォントを解放する
oldFont.Dispose();

MainMenuコントロールの場合

MainMenuコントロールの場合は、太字にしたいメニュー項目のMenuItem.DefaultItemプロパティをTrueにします。DefaultItemプロパティをTrueにできるMenuItemは一つだけということはないようで、複数のメニュー項目についてDefaultItemプロパティをTrueにすると、それらすべてを太字にできます。

VB.NET
コードを隠すコードを選択
'MenuItem1が太字で表示されるようにする
MenuItem1.DefaultItem = True
C#
コードを隠すコードを選択
//MenuItem1が太字で表示されるようにする
MenuItem1.DefaultItem = true;
  • 履歴:
  • 2007/1/16 MenuStripの場合を追加。
  • 2014/9/30 画像とコードを追加など。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • このサイトで紹介されているコードの多くは、例外処理が省略されています。例外処理については、こちらをご覧ください。
  • .NET Tipsをご利用いただく際は、注意事項をお守りください。