メニュー処理 (Visual Basic 6.0 ユーザー向け)

更新 : 2007 年 11 月

Visual Basic 2008 でメニューを作成したり操作したりするテクニックは、Visual Basic 6.0 の場合と大きく異なります。

概念の違い

Visual Basic 6.0 では、メニュー エディタを使用してメニューを作成しました。メニューをプログラムによって変更または追加することはできましたが、作成することはできませんでした。

Visual Basic 2008 では、MenuStrip コントロールを使ってメニューを作成します。このコントロールは、グラフィカルなメニュー デザイナを備えています。プログラムによってメニューを作成することもできます。

コンテキスト メニュー

Visual Basic 6.0 では、フォームまたはコントロールの PopupMenu メソッドを呼び出すことによってコンテキスト メニューを作成しました。プログラムによってコンテキスト メニューを作成することはできず、既存のメニューがなければ PopupMenu メソッドは使用できませんでした。

Visual Basic 2008 では、ContextMenuStrip コントロールを使ってコンテキスト メニューを作成します。このコントロールは、グラフィカルなメニュー デザイナを備えています。また、ContextMenuStrip クラスの新しいインスタンスを作成することにより、プログラムでコンテキスト メニューを作成することもできます。詳細については、「ContextMenuStrip コントロールの概要」を参照してください。

メニューのマージ

Visual Basic 6.0 の場合、フォーム上のオブジェクトのメニューをフォームのメニューにマージするかどうかは、フォームの NegotiateMenus プロパティで設定していました。このプロパティは、デザイン時にだけ設定できました。

Visual Basic 2008 では、メニューのマージに MenuStrip コントロールまたは ContextMenuStrip コントロールの AllowMerge プロパティを使用できます。

アップグレード メモ

Visual Basic 6.0 アプリケーションを Visual Basic 2008 にアップグレードすると、既存のメニューは MainMenu コンポーネントにアップグレードされます。コンテキスト メニューとして使っていたメニューは、ContextMenuStrip コントロールを使うように手動で変更する必要があります。

参照

概念

Menu オブジェクト (Visual Basic 6.0 ユーザー向け)

Windows フォーム (Visual Basic 6.0 ユーザー向け)

その他の技術情報

MenuStrip コントロール (Windows フォーム)