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
継承

次のコード例では、 の イベントのイベント ハンドラーをPopupContextMenu作成します。 イベント ハンドラーのコードは、2 つのコントロールPictureBoxのうち、名前付き コントロールと TextBox 名前付き pictureBox1textBox1 コントロールのうち、ショートカット メニューを表示するコントロールを決定します。 がショートカット メニューを表示する原因となった ContextMenu コントロールに応じて、適切な MenuItem オブジェクトが に追加されます ContextMenu。 この例では、 という名前contextMenu1の クラスのインスタンスがContextMenuフォーム内で定義されている必要があります。 この例では、 を持ち TextBoxPictureBox フォームに追加し、これらのコントロールの プロパティを 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 割り当てられたショートカット メニューを使用して、テキストのフォントの変更、コントロール内のテキストの検索、テキストのコピーと貼り付けのクリップボード機能を提供できます。 また、 内MainMenuに配置されていないショートカット メニューに新しいMenuItemオブジェクトを表示して、 を表示するのに適MainMenuしていない状況固有のコマンドを提供することもできます。

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

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

注意

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

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

適用対象

こちらもご覧ください