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


MenuCommand Класс

Определение

Представляет меню Windows или команду панели инструментов.

public ref class MenuCommand
public class MenuCommand
[System.Runtime.InteropServices.ComVisible(true)]
public class MenuCommand
type MenuCommand = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type MenuCommand = class
Public Class MenuCommand
Наследование
MenuCommand
Производный
Атрибуты

Примеры

В следующем примере кода создается MenuCommand объект , настраивается его свойства и добавляется в IMenuCommandService.

Создайте экземпляр класса в Component1 форме и откройте форму в среде разработки, например Visual Studio. Нажмите клавишу F1, чтобы вызвать MenuCommand.

#using <system.dll>
#using <system.design.dll>
#using <system.windows.forms.dll>

using namespace System;
using namespace System::ComponentModel;
using namespace System::ComponentModel::Design;
using namespace System::Security::Permissions;

namespace CppMenuCommand
{
   public ref class CDesigner: public ComponentDesigner
   {
   public:
    [PermissionSetAttribute(SecurityAction::Demand, Name="FullTrust")]
      virtual void Initialize( IComponent^ comp ) override
      {
         ComponentDesigner::Initialize( comp );
         IMenuCommandService^ mcs = static_cast<IMenuCommandService^>(comp->Site->GetService( IMenuCommandService::typeid ));
         MenuCommand^ mc = gcnew MenuCommand( gcnew EventHandler( this, &CDesigner::OnF1Help ),StandardCommands::F1Help );
         mc->Enabled = true;
         mc->Visible = true;
         mc->Supported = true;
         mcs->AddCommand( mc );
         System::Windows::Forms::MessageBox::Show( "Initialize() has been invoked." );
      }

   private:
      void OnF1Help( Object^ /*sender*/, EventArgs^ /*e*/ )
      {
         System::Windows::Forms::MessageBox::Show( "F1Help has been invoked." );
      }
   };
}
using System;
using System.ComponentModel;
using System.ComponentModel.Design;

namespace CSMenuCommand
{
    [Designer(typeof(CDesigner))]
    public class Component1 : System.ComponentModel.Component
    {
        private System.ComponentModel.Container components = null;

        public Component1(System.ComponentModel.IContainer container)
        {
            container.Add(this);
            InitializeComponent();
        }

        public Component1()
        {
            InitializeComponent();
        }

        private void InitializeComponent()
        {
            components = new System.ComponentModel.Container();
        }
    }

    public class CDesigner : System.ComponentModel.Design.ComponentDesigner 
    {
        public override void Initialize(IComponent comp) 
        {
            base.Initialize(comp);

            IMenuCommandService mcs = (IMenuCommandService)comp.Site.
                        GetService(typeof(IMenuCommandService));
            MenuCommand mc = new MenuCommand(new EventHandler(OnF1Help), StandardCommands.F1Help);
            mc.Enabled = true;
            mc.Visible = true;
            mc.Supported = true;
            mcs.AddCommand(mc);
            System.Windows.Forms.MessageBox.Show("Initialize() has been invoked.");
        }

        private void OnF1Help(object sender, EventArgs e) 
        {
            System.Windows.Forms.MessageBox.Show("F1Help has been invoked.");
        }
    }
}
Imports System.ComponentModel
Imports System.ComponentModel.Design

Namespace VbMenuCommand
    <Designer(GetType(CDesigner))> _
    Public Class Component1
        Inherits System.ComponentModel.Component
        Private components As System.ComponentModel.Container = Nothing

        Public Sub New(ByVal container As System.ComponentModel.IContainer)
            container.Add(Me)
            InitializeComponent()
        End Sub

        Public Sub New()
            InitializeComponent()
        End Sub

        Private Sub InitializeComponent()
        End Sub
    End Class

    <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
    Public Class CDesigner
        Inherits System.ComponentModel.Design.ComponentDesigner

        Public Overrides Sub Initialize(ByVal comp As IComponent)
            MyBase.Initialize(comp)

            Dim mcs As IMenuCommandService = CType(comp.Site.GetService(GetType(IMenuCommandService)), IMenuCommandService)
            Dim mc As New MenuCommand(New EventHandler(AddressOf OnF1Help), StandardCommands.F1Help)
            mc.Enabled = True
            mc.Visible = True
            mc.Supported = True
            mcs.AddCommand(mc)
            System.Windows.Forms.MessageBox.Show("Initialize() has been invoked.")
        End Sub

        Private Sub OnF1Help(ByVal sender As Object, ByVal e As EventArgs)
            System.Windows.Forms.MessageBox.Show("F1Help has been invoked.")
        End Sub
    End Class
End Namespace

Комментарии

Класс MenuCommand представляет сведения о команде меню Или панели инструментов Windows. Интерфейс IMenuCommandService позволяет добавлять MenuCommand объекты в меню Visual Studio.

Этот класс предоставляет следующие члены:

  • Свойство обработчика событий, к которому можно присоединить обработчик событий для команды.

  • Свойство CommandID , уникально определяющее команду.

  • Метод Invoke , выполняющий команду .

  • Метод OnCommandChanged , который можно переопределить для обработки события, возникающего при выборе новой команды.

  • Логические состояния флага, указывающие, является Checkedли команда , Enabled, Supportedили Visible.

  • Свойство OleStatus , указывающее код состояния команды OLE для команды.

  • Переопределение для ToString метода .

Конструкторы

MenuCommand(EventHandler, CommandID)

Инициализирует новый экземпляр класса MenuCommand.

Свойства

Checked

Получает или задает значение, указывающее, отмечена ли данная команда меню.

CommandID

Получает идентификатор CommandID, связанный с данной командой меню.

Enabled

Получает значение, показывающее, доступна ли данная команда меню.

OleStatus

Получает код состояния команды OLE для данной команды меню.

Properties

Возвращает открытые свойства, сопоставленные объекту MenuCommand.

Supported

Получает или задает значение, показывающее, поддерживается ли данная команда меню.

Visible

Возвращает или задает значение, указывающее, отображается ли данная команда меню.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
Invoke()

Вызывает команду.

Invoke(Object)

Вызывает команду с заданным параметром.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnCommandChanged(EventArgs)

Вызывает событие CommandChanged.

ToString()

Возвращает строковое представление данной команды меню.

События

CommandChanged

Возникает при изменении команды меню.

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

См. также раздел