Поделиться через


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 объекты, обеспечивающие поддержку операций выреза, копирования и удаления, перед отображением меню, в котором они отображаются. В примере определяется, TextBox включен ли textBox1элемент управления в форме, имеет ли фокус ввода и выделен текст перед включением MenuItem объектов. В этом примере требуется, чтобы были созданы три MenuItem объекта с именами menuCut, menuCopyи menuDelete .

private:
   void PopupMyMenu( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      if ( !textBox1->Enabled || !textBox1->Focused || 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 || !textBox1.Focused ||
      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) .

Применяется к