MenuItem.Popup 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在显示菜单项的菜单项列表之前发生。
public:
event EventHandler ^ Popup;
public event EventHandler Popup;
member this.Popup : EventHandler
Public Custom Event Popup As EventHandler
事件类型
示例
下面的代码示例演示如何使用 Popup 事件来确定 MenuItem 是否在显示它们显示的菜单中启用为剪切、复制和删除操作提供支持的对象。 该示例确定在启用 MenuItem 对象之前,TextBox窗体上的控件是否textBox1
已启用、是否具有输入焦点和已选择文本。 此示例要求创建名为 、 menuCopy
和 menuDelete
的三MenuItem个menuCut
对象。
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
注解
仅当菜单项具有要显示的子菜单项时,才会发生此事件。 可以使用此事件处理程序在显示菜单项之前根据应用程序的状态添加、删除、启用、禁用、检查或取消选中菜单项。 有关处理事件的详细信息,请参阅 处理和引发事件。