次の方法で共有


MenuItem.Popup イベント

定義

メニュー項目のリストが表示される前に発生します。

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

イベントの種類

次のコード例では、 イベントを Popup 使用して、切り取り、コピー、および削除の操作をサポートするオブジェクトが、表示されるメニューが表示される前に有効になっているかどうかを MenuItem 判断する方法を示します。 この例では、フォーム上のTextBoxコントロールが有効で、入力フォーカスがあり、オブジェクトを有効にするMenuItem前にテキストが選択されているかどうかを判断textBox1します。 この例では、 という名前menuCutmenuCopyの 3 つのMenuItemオブジェクトが作成され、menuDelete作成されている必要があります。

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

注釈

このイベントは、メニュー項目に表示するサブメニュー項目がある場合にのみ発生します。 このイベント ハンドラーを使用すると、表示前にアプリケーションの状態に基づいてメニュー項目を追加、削除、有効化、無効化、チェック、またはオフにすることができます。 イベントの処理の詳細については、「処理とイベントの発生」を参照してください。

適用対象