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ли команда , EnabledSupportedили 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 |
Происходит при изменении команды меню. |