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
事件类型
示例
下面的代码示例演示如何使用 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. 此示例需要创建 MenuItem 名为、和的三个对象 menuCut menuCopy menuDelete 。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
注解
仅当菜单项具有子菜单项显示时,才会发生此事件。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.