MenuItem.OnPopup(EventArgs) 方法

定义

引发 Popup 事件。

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

包含事件数据的 EventArgs

示例

下面的代码示例演示如何使用 Popup 事件来确定 MenuItem 是否在显示它们显示的菜单中启用为剪切、复制和删除操作提供支持的对象。 该示例确定在启用 MenuItem 对象之前,TextBox窗体上的控件是否textBox1已启用、是否具有输入焦点和已选择文本。 此示例要求创建名为 、 menuCopymenuDelete 的三MenuItemmenuCut对象。

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

注解

引发事件时,将通过委托调用事件处理程序。 有关详细信息,请参阅 处理和引发事件

继承者说明

在派生类中重写 OnPopup(EventArgs) 时,请务必调用基类的 OnPopup(EventArgs) 方法。

适用于