MenuItem.Popup イベント


メニュー項目のリストが表示される前に発生します。Occurs before a menu item's list of menu items is displayed.

 event EventHandler ^ Popup;
public event EventHandler Popup;
member this.Popup : EventHandler 
Public Custom Event Popup As EventHandler 

次のコード例は、 Popupイベントを使用して、切り取り、コピー、および削除の各操作をサポートするオブジェクトが、表示されるメニューの前に有効になっているかどうかMenuItemを判断する方法を示しています。The following code example demonstrates how to use the Popup event to determine whether MenuItem objects that provide support for cut, copy, and delete operations are enabled before the menu they are displayed in is shown. この例ではtextBox1、フォームTextBox上のコントロールが有効であるかどうか、入力フォーカスがあるかどうか、 MenuItemおよびオブジェクトを有効にする前にテキストが選択されているかどうかを判断します。The example determines if textBox1, a TextBox control on the form, is enabled, has input focus, and has text selected before enabling the MenuItem objects. この例では、 MenuItemmenuCopy、およびとmenuCut menuDeleteいう名前の3つのオブジェクトが作成されている必要があります。This example requires that three MenuItem objects are created named menuCut, menuCopy, and menuDelete have been created.

   void PopupMyMenu( Object^ /*sender*/, System::EventArgs^ /*e*/ )
      if ( textBox1->Enabled == false || textBox1->Focused == false || textBox1->SelectedText->Length == 0 )
         menuCut->Enabled = false;
         menuCopy->Enabled = false;
         menuDelete->Enabled = false;
         menuCut->Enabled = true;
         menuCopy->Enabled = true;
         menuDelete->Enabled = true;
private void PopupMyMenu(object sender, System.EventArgs e)
   if (textBox1.Enabled == false || textBox1.Focused == false ||
      textBox1.SelectedText.Length == 0)
      menuCut.Enabled = false;
      menuCopy.Enabled = false;
      menuDelete.Enabled = false;
      menuCut.Enabled = true;
      menuCopy.Enabled = true;
      menuDelete.Enabled = true;
Private Sub PopupMyMenu(ByVal sender As Object, ByVal e As System.EventArgs) Handles menuEdit.Popup
   If textBox1.Enabled = False OrElse textBox1.Focused = False OrElse textBox1.SelectedText.Length = 0 Then
      menuCut.Enabled = False
      menuCopy.Enabled = False
      menuDelete.Enabled = False
      menuCut.Enabled = True
      menuCopy.Enabled = True
      menuDelete.Enabled = True
   End If
End Sub


このイベントは、メニュー項目にサブメニュー項目が表示されている場合にのみ発生します。This event only occurs when a menu item has submenu items to display. このイベントハンドラーを使用すると、アプリケーションの状態に基づいてメニュー項目を追加、削除、有効化、無効化、チェック、またはオフにすることができます。You can use this event handler to add, remove, enable, disable, check, or uncheck menu items based on the state of your application before they are displayed. イベントの処理の詳細については、「処理とイベントの発生」を参照してください。For more information about handling events, see Handling and Raising Events.