ContextMenu クラス

定義

ショートカット メニューを表します。

このクラスは .NET Core 3.1 以降のバージョンでは利用できません。 代わりに ContextMenuStrip を使用してください。ContextMenu コントロールが置換され、拡張されます。

public ref class ContextMenu : System::Windows::Forms::Menu
public class ContextMenu : System.Windows.Forms.Menu
type ContextMenu = class
    inherit Menu
Public Class ContextMenu
Inherits Menu
継承

次のコード例では、のイベントのイベントハンドラーを作成し Popup ContextMenu ます。 イベントハンドラーのコードでは、という名前の2つのコントロールのうち、 PictureBox pictureBox1 TextBox textBox1 ショートカットメニューを表示するコントロールを指定します。 コントロールによって、がそのショートカットメニューを表示する原因となったコントロールに応じて、 ContextMenu 適切なオブジェクトがに追加され MenuItem ContextMenu ます。 この例では、 ContextMenu という名前のクラスのインスタンスが contextMenu1 フォーム内で定義されている必要があります。 また、この例では、を持っていて、 TextBox PictureBox フォームにを追加し、 ContextMenu これらのコントロールのプロパティがに設定されている必要もあり contextMenu1 ます。

private:
   void MyPopupEventHandler( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      // Define the MenuItem objects to display for the TextBox.
      MenuItem^ menuItem1 = gcnew MenuItem( "&Copy" );
      MenuItem^ menuItem2 = gcnew MenuItem( "&Find and Replace" );
      // Define the MenuItem object to display for the PictureBox.
      MenuItem^ menuItem3 = gcnew MenuItem( "C&hange Picture" );
      
      // Clear all previously added MenuItems.
      contextMenu1->MenuItems->Clear();

      if ( contextMenu1->SourceControl == textBox1 )
      {
         
         // Add MenuItems to display for the TextBox.
         contextMenu1->MenuItems->Add( menuItem1 );
         contextMenu1->MenuItems->Add( menuItem2 );
      }
      else if ( contextMenu1->SourceControl == pictureBox1 )
      {
         // Add the MenuItem to display for the PictureBox.
         contextMenu1->MenuItems->Add( menuItem3 );
      }
   }
private void MyPopupEventHandler(System.Object sender, System.EventArgs e)
 {
    // Define the MenuItem objects to display for the TextBox.
    MenuItem menuItem1 = new MenuItem("&Copy");
    MenuItem menuItem2 = new MenuItem("&Find and Replace");
    // Define the MenuItem object to display for the PictureBox.
    MenuItem menuItem3 = new MenuItem("C&hange Picture");

    // Clear all previously added MenuItems.
    contextMenu1.MenuItems.Clear();
 
    if(contextMenu1.SourceControl == textBox1)
    {
       // Add MenuItems to display for the TextBox.
       contextMenu1.MenuItems.Add(menuItem1);
       contextMenu1.MenuItems.Add(menuItem2);
    }
    else if(contextMenu1.SourceControl == pictureBox1)
    {
       // Add the MenuItem to display for the PictureBox.
       contextMenu1.MenuItems.Add(menuItem3);
    }
 }
Private Sub MyPopupEventHandler(sender As System.Object, e As System.EventArgs)
    ' Define the MenuItem objects to display for the TextBox.
    Dim menuItem1 As New MenuItem("&Copy")
    Dim menuItem2 As New MenuItem("&Find and Replace")
    ' Define the MenuItem object to display for the PictureBox.
    Dim menuItem3 As New MenuItem("C&hange Picture")
    
    ' Clear all previously added MenuItems.
    contextMenu1.MenuItems.Clear()
    
    If contextMenu1.SourceControl Is textBox1 Then
        ' Add MenuItems to display for the TextBox.
        contextMenu1.MenuItems.Add(menuItem1)
        contextMenu1.MenuItems.Add(menuItem2)
    ElseIf contextMenu1.SourceControl Is pictureBox1 Then
        ' Add the MenuItem to display for the PictureBox.
        contextMenu1.MenuItems.Add(menuItem3)
    End If
End Sub

注釈

このクラスは .NET Core 3.1 以降のバージョンでは利用できません。 代わりに、ContextMenuStrip を使用してください。

クラスは、 ContextMenu ユーザーがコントロールまたはフォームの領域上でマウスの右ボタンをクリックしたときに表示されるショートカットメニューを表します。 ショートカットメニューは、通常、 MainMenu ユーザーがアプリケーションのコンテキストを指定した場合に便利な、フォームのからさまざまなメニュー項目を結合するために使用されます。 たとえば、コントロールに割り当てられたショートカットメニューを使用して、 TextBox テキストのフォントの変更、コントロール内のテキストの検索、テキストのコピーと貼り付けを行うためのクリップボード機能を提供できます。 また、に含ま MenuItem れていないショートカットメニューに新しいオブジェクトを表示して MainMenu 、の表示に適していない状況固有のコマンドを提供することもでき MainMenu ます。

通常、ユーザーがコントロールまたはフォーム自体でマウスの右ボタンをクリックすると、ショートカットメニューが表示されます。 表示されるコントロールと、 Form ContextMenu ContextMenu ショートカットメニューを表示するコントロールにクラスをバインドするプロパティがあります。 複数のコントロールでを使用でき ContextMenu ます。 プロパティを使用して、コントロール SourceControl に固有のタスクを実行したり、コントロールに表示されるショートカットメニューを変更したりするために、最後にショートカットメニューを表示したコントロールを確認できます。

メニューがユーザーに表示される前に、チェックマークを設定したり、項目を無効にしたり、その他のメニュータスクを実行したりするために、ショートカットメニューがいつ表示されるかを確認したい場合があります。 イベントを処理して Popup 、ショートカットメニューが表示されていることを確認できます。

注意

で使用するためにで表示されるオブジェクトを再利用するには MenuItem MainMenu ContextMenu 、クラスのメソッドを使用してメニューのコピーを作成する必要があり CloneMenu MenuItem ます。 MenuItemクラスのメソッドを使用して、メニュー項目とそのサブメニュー項目を1つのオブジェクトにマージすることもでき MergeMenu MenuItem ます。

コンストラクター

ContextMenu()

メニュー項目を指定せずに、ContextMenu クラスの新しいインスタンスを初期化します。

ContextMenu(MenuItem[])

一連の ContextMenu オブジェクトを指定して、MenuItem クラスの新しいインスタンスを初期化します。

フィールド

FindHandle

FindMenuItem(Int32, IntPtr) メソッドでハンドルを検索するよう指定します。

(継承元 Menu)
FindShortcut

FindMenuItem(Int32, IntPtr) メソッドでショートカットを検索するよう指定します。

(継承元 Menu)

プロパティ

CanRaiseEvents

コンポーネントがイベントを発生させることがきるかどうかを示す値を取得します。

(継承元 Component)
Container

IContainer を含む Component を取得します。

(継承元 Component)
DesignMode

Component が現在デザイン モードかどうかを示す値を取得します。

(継承元 Component)
Events

Component に結び付けられているイベント ハンドラーのリストを取得します。

(継承元 Component)
Handle

メニューのウィンドウ ハンドルを表している値を取得します。

(継承元 Menu)
IsParent

このメニューにメニュー項目が格納されているかどうかを示す値を取得します。 このプロパティは読み取り専用です。

(継承元 Menu)
MdiListItem

マルチ ドキュメント インターフェイス (MDI) 子フォームの一覧を表示するために使用される MenuItem を示す値を取得します。

(継承元 Menu)
MenuItems

メニューに関連付けられている MenuItem オブジェクトのコレクションを示す値を取得します。

(継承元 Menu)
Name

Menu の名前を取得または設定します。

(継承元 Menu)
RightToLeft

コントロールがテキストを右から左に表示するかどうかを示す値を取得または設定します。

Site

ComponentISite を取得または設定します。

(継承元 Component)
SourceControl

ショートカット メニューを表示しているコントロールを取得します。

Tag

コントロールに関連付けられたユーザー定義のデータを取得または設定します。

(継承元 Menu)

メソッド

CloneMenu(Menu)

現在の Menu にパラメーターとして渡された Menu をコピーします。

(継承元 Menu)
CreateMenuHandle()

Menu への新しいハンドルを作成します。

(継承元 Menu)
CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。

(継承元 MarshalByRefObject)
Dispose()

Component によって使用されているすべてのリソースを解放します。

(継承元 Component)
Dispose(Boolean)

Menu によって使用されているリソース (メモリを除く) を解放します。

(継承元 Menu)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
FindMenuItem(Int32, IntPtr)

指定した値を含む MenuItem を取得します。

(継承元 Menu)
FindMergePosition(Int32)

メニューにおけるメニュー項目の追加位置を返します。

(継承元 Menu)
GetContextMenu()

メニューを格納している ContextMenu を取得します。

(継承元 Menu)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetLifetimeService()
互換性のために残されています。

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetMainMenu()

メニューを格納している MainMenu を取得します。

(継承元 Menu)
GetService(Type)

Component またはその Container で提供されるサービスを表すオブジェクトを返します。

(継承元 Component)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
InitializeLifetimeService()
互換性のために残されています。

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
MergeMenu(Menu)

1 つのメニューの MenuItem オブジェクトを現在のメニューにマージします。

(継承元 Menu)
OnCollapse(EventArgs)

Collapse イベントを発生させます。

OnPopup(EventArgs)

Popup イベントを発生させます。

ProcessCmdKey(Message, Keys)

コマンド キーを処理します。

(継承元 Menu)
ProcessCmdKey(Message, Keys, Control)

コマンド キーを処理します。

Show(Control, Point)

指定した位置にショートカット メニューを表示します。

Show(Control, Point, LeftRightAlignment)

位置および配置を指定してショートカット メニューを表示します。

ToString()

String コントロールを表す Menu を返します。

(継承元 Menu)

イベント

Collapse

ショートカット メニューが折りたたまれたときに発生します。

Disposed

Dispose() メソッドの呼び出しによってコンポーネントが破棄されるときに発生します。

(継承元 Component)
Popup

ショートカット メニューが表示される前に発生します。

適用対象

こちらもご覧ください