ContextMenu クラスとは? わかりやすく解説

ContextMenu クラス

ショートカット メニュー表します。ContextMenuStrip では、以前のバージョンContextMenu コントロール機能置換または追加されていますが、下位互換性維持し必要に応じて今後使用できるように、ContextMenu残されています。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

解説解説

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

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

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

メモメモ

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

Windows Mobile for Pocket PCWindows Mobile for SmartphoneWindows CE プラットフォームメモ : Pocket PC では、子フォームでのショートカット メニュー使用避けてください。その親フォーム破棄した後で表示されたままとなるためです。

使用例使用例

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

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 'MyPopupEventHandler '
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:
   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(Object sender,
 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.get_MenuItems().Clear();
    if (contextMenu1.get_SourceControl().Equals(textBox1)) {
        // Add MenuItems to display for the TextBox.
        contextMenu1.get_MenuItems().Add(menuItem1);
        contextMenu1.get_MenuItems().Add(menuItem2);
    }
    else {
        if (contextMenu1.get_SourceControl().Equals(pictureBox1))
 {
            // Add the MenuItem to display for the PictureBox.
            contextMenu1.get_MenuItems().Add(menuItem3);
        }
    }
} //MyPopupEventHandler
継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Windows.Forms.Menu
        System.Windows.Forms.ContextMenu
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からContextMenu クラスを検索した結果を表示しています。
Weblioに収録されているすべての辞書からContextMenu クラスを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からContextMenu クラスを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ContextMenu クラス」の関連用語

ContextMenu クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ContextMenu クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS