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 つのコントロールのうち、名前付きコントロールPictureBoxTextBox名前付きpictureBox1``textBox1コントロールのうち、ショートカット メニューを表示するコントロールを決定します。 ショートカット メニューを ContextMenu 表示する原因となったコントロールに応じて、適切な MenuItem オブジェクトがコントロールに ContextMenu追加されます。 この例では、フォーム内で定義された名前contextMenu1ContextMenuクラスのインスタンスが必要です。 また、この例では、フォームを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 使用して、テキストのフォントを変更したり、コントロール内のテキストを検索したり、テキストをコピーしたり貼り付けたりするためのクリップボード機能のメニュー項目を提供したりできます。 また、ショートカット メニュー内にない新しい MenuItem オブジェクトを表示して、 MainMenu 表示に適していない状況固有のコマンドを MainMenu 提供することもできます。

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

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

注意

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

events

Collapse

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

Disposed

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

(継承元 Component)
Popup

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

適用対象

こちらもご覧ください