次の方法で共有


高性能になったメニューコントロールについて

download.gifサンプル コードのダウンロード (vbmigtips_MenuStrip.msi, 483 KB)

※ このサンプルをインストールするには Visual Studio 2005 Beta 2 が必要です。

アプリケーションにメニューを設定する場合、Visual Basic 6.0 では、[メニューエディタ]ダイアログを利用しますが、Visual Basic .NET 以降では、標準コントロールとして MainMenu コントロール(Visual Basic .NET)、MenuStrip コントロール(Visual Basic 2005)がサポートされ、簡単に設定することができるようになりました。また、Visual Basic 2005 では、以前の Visual Basic .NET ではできなかった様々な機能が新たに追加され、より高性能なメニュー設定ができるようになりました。そこで今回は、各環境でのメニュー設定方法について紹介します。

Visual Basic 6.0 で、メニュー設定を行う場合、[ツール]メニューの[メニューエディタ]を選択し、[メニューエディタ]ダイアログを表示します。このダイアログを使用してメニューの設定を行います。

一方、Visual Basic .NET や Visual Basic 2005では、標準コントロールとして MainMenu コントロール、MenuStrip コントロールが追加されました。[ツールボックス]から MainMenu コントロール、MenuStrip コントロールをドラッグ&ドロップをし(コントロールはフォームデザイナの下部に配置されます。)、他のコントロール同様に各プロパティの設定を行います。

これにより、Visual Basic 6.0 より簡単に作成することができます。さらに、Visual Basic 2005 では、Visual Basic .NET の MainMenu コントロールではサポートされていなかった新たな機能が追加され、より高性能なメニュー設定が可能となりました。メニュー項目にイメージを表示したり、テキストボックスやコンボボックスのコントロールも設定することができます。そこで今回は、Visual Basic 2005 の MenuStrip コントロールを使用しての図1 のようなメニューが設定されているアプリケーションを作成します。紹介します。

MenuStrip_fig01.jpg
図1

まず、MenuStrip コントロールをフォームにドラッグ & ドロップします。図1 のように各項目名を入力し、[新規作成]と[開く]メニュー項目の Image プロパティに表示する画像ファイル(アイコン)を指定します。
メニュー項目の設定は、[項目コレクション エディタ]ダイアログ(図2)を使用して設定することもできます([スマートタグ]の[項目の編集...]、又は、Items コレクションの「...」ボタン選択で表示されます)。


図2

このように、上記の設定により、図1 のようにメニュー項目の左側に画像を表示させることができます。上記では、メニュー項目に画像を表示させる方法を紹介しましたが、このほかにも、テキストボックスやコンボボックスのコントロールをメニュー項目に追加することができます(図3)。

図3

また、[スマートタグ]の[ToolStripContainer に埋め込む]を選択すると、Form に ToolStripContainer コントロールが追加されます。このコントロールにToolStrip コントロールを埋め込むことで、ツールバーを上下左右に移動させることができます(図4)。ツールバーの移動位置は、[スマートタグ]の[パネルの表示状態]で指定します(また、BottomToolStripPanelVisible プロパティ、LeftToolStripPanelVisible プロパティ、RightToolStripPanelVisible プロパティ、TopToolStripPanelVisible プロパティを「True」に設定します)。


図4

さらに、[スマートタグ]の[標準項目の挿入]を選択することで、図5 のように[ファイル]メニューをはじめ[編集]、[ツール]、[ヘルプ]などの項目が自動的に追加されます。

MenuStrip_fig05.jpg
図5