MenuItem.Popup 事件

定义

在显示菜单项的菜单项列表之前发生。Occurs before a menu item's list of menu items is displayed.

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

事件类型

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 窗体上的控件是否已启用、是否具有输入焦点,以及是否在启用对象之前选择了文本 MenuItemThe example determines if textBox1, a TextBox control on the form, is enabled, has input focus, and has text selected before enabling the MenuItem objects. 此示例需要创建 MenuItem 名为、和的三个对象 menuCut menuCopy menuDeleteThis 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

注解

仅当菜单项具有子菜单项显示时,才会发生此事件。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.

适用于