MenuItem.OnPopup(EventArgs) メソッド

定義

Popup イベントを発生させます。Raises the Popup event.

protected:
 virtual void OnPopup(EventArgs ^ e);
protected virtual void OnPopup (EventArgs e);
abstract member OnPopup : EventArgs -> unit
override this.OnPopup : EventArgs -> unit
Protected Overridable Sub OnPopup (e As EventArgs)

パラメーター

e
EventArgs

イベント データを格納している EventArgsAn EventArgs that contains the event data.

次のコード例は、 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.

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;
      }
      else
      {
         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;
   }
   else
   {
      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
   Else
      menuCut.Enabled = True
      menuCopy.Enabled = True
      menuDelete.Enabled = True
   End If
End Sub

注釈

イベントを発生させると、イベント ハンドラーがデリゲートから呼び出されます。Raising an event invokes the event handler through a delegate. 詳細については、次を参照してください。処理とイベントの発生します。For more information, see Handling and Raising Events.

注意 (継承者)

派生クラスOnPopup(EventArgs)でをオーバーライドする場合は、必ず基底クラスのOnPopup(EventArgs)メソッドを呼び出してください。When overriding OnPopup(EventArgs) in a derived class, be sure to call the base class's OnPopup(EventArgs) method.

適用対象