IMenuCommandService Antarmuka
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyediakan metode untuk mengelola kata kerja perancang global dan perintah menu yang tersedia dalam mode desain, dan untuk menampilkan beberapa jenis menu pintasan.
public interface class IMenuCommandService
public interface IMenuCommandService
[System.Runtime.InteropServices.ComVisible(true)]
public interface IMenuCommandService
type IMenuCommandService = interface
[<System.Runtime.InteropServices.ComVisible(true)>]
type IMenuCommandService = interface
Public Interface IMenuCommandService
- Turunan
- Atribut
Contoh
Contoh ini menunjukkan menggunakan IMenuCommandService untuk menambahkan MenuCommand.
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." );
}
};
}
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.");
}
}
<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
Keterangan
Antarmuka ini menyediakan metode untuk:
Temukan, panggil, tambahkan, dan hapus perintah kata kerja perancang global.
Temukan, panggil, tambahkan, dan hapus perintah menu standar.
Ubah penanganan aktivitas yang terkait dengan perintah menu standar.
Tampilkan menu pintasan perintah standar yang terkait dengan menu CommandID.
Designer kata kerja mewakili perintah yang ditentukan khusus yang tercantum pada menu pintasan dalam mode desain. Kata kerja perancang dapat menyediakan label teks tertentu. Setiap kata kerja perancang secara otomatis diberi kata kerja yang unik CommandID. Perancang dapat menyediakan kata kerja perancang melalui propertinya Verbs , tetapi ini hanya tersedia ketika komponen perancang saat ini dipilih. Kata kerja perancang global adalah perintah kata kerja perancang yang dapat diakses dari menu pintasan mode desain terlepas dari komponen yang dipilih. Antarmuka ini memungkinkan Anda mengelola kumpulan kata kerja desainer global yang tersedia dalam mode desain.
Anda dapat menambahkan kata kerja perancang global menggunakan AddVerb metode , dan Anda dapat menghapus kata kerja desainer global menggunakan RemoveVerb metode . Anda dapat memanggil kata kerja perancang menggunakan GlobalInvoke metode jika Anda tahu CommandID dari kata kerja. Properti Verbs antarmuka ini berisi set perintah kata kerja perancang saat ini untuk ditampilkan di menu pintasan. Kumpulan perintah kata kerja perancang ini terdiri dari semua kata kerja desainer global dan kata kerja perancang apa pun yang ditawarkan oleh perancang komponen yang saat ini dipilih. Kumpulan kata kerja ini diperbarui setiap kali komponen dengan perancang menawarkan perintah kata kerja perancang dipilih atau tidak dipilih.
Perintah menu terbatas pada set perintah standar yang telah ditentukan sebelumnya. Sebagian besar perintah standar yang telah ditentukan sebelumnya didefinisikan dalam StandardCommands enumerasi dan MenuCommands . Anda dapat menambahkan, menghapus, dan memanggil perintah menu, dan mencari perintah menu yang telah ditambahkan ke menu menggunakan metode antarmuka ini.
Anda dapat menambahkan perintah menu standar menggunakan AddCommand metode , dan menghapus perintah menu standar menggunakan RemoveCommand metode . Anda dapat melampirkan penanganan aktivitas ke perintah menu standar yang telah ditentukan sebelumnya dengan mengikuti prosedur yang dirinci dalam dokumentasi untuk metode tersebut AddCommand . Anda dapat mengambil perintah menu dengan CommandID jika telah ditambahkan ke menu menggunakan FindCommand metode . Anda dapat memanggil perintah menu atau perintah kata kerja perancang dengan CommandID menggunakan GlobalInvoke metode .
Catatan
Upaya untuk menambahkan perintah menu dengan yang sudah ada CommandID akan melempar InvalidOperationException. Saat menambahkan perintah menu, pastikan untuk memeriksa apakah belum ada di menu menggunakan FindCommand metode , atau gunakan penanganan pengecualian dengan bijak.
Catatan
Perintah menu dapat ditambahkan ke menu, dan properti atau Enabled diatur Visible ke false
. Jika Anda tidak dapat menemukan perintah menu yang telah ditambahkan secara visual pada menu, salah satu properti ini mungkin telah diatur ke false
.
Anda dapat menampilkan menu pintasan standar tertentu yang berisi perintah menu di lokasi tertentu menggunakan metode .ShowContextMenu Dokumentasi untuk metode ini berisi tabel yang mencantumkan ID perintah yang menentukan menu yang valid untuk ditampilkan.
Properti
Verbs |
Mendapatkan koleksi kata kerja desainer yang saat ini tersedia. |
Metode
AddCommand(MenuCommand) |
Menambahkan perintah menu standar yang ditentukan ke menu. |
AddVerb(DesignerVerb) |
Menambahkan kata kerja perancang yang ditentukan ke kumpulan kata kerja desainer global. |
FindCommand(CommandID) |
Mencari ID perintah yang ditentukan dan mengembalikan perintah menu yang terkait dengannya. |
GlobalInvoke(CommandID) |
Memanggil perintah kata kerja menu atau perancang yang cocok dengan ID perintah yang ditentukan. |
RemoveCommand(MenuCommand) |
Menghapus perintah menu standar yang ditentukan dari menu. |
RemoveVerb(DesignerVerb) |
Menghapus kata kerja perancang yang ditentukan dari koleksi kata kerja desainer global. |
ShowContextMenu(CommandID, Int32, Int32) |
Memperlihatkan menu pintasan yang ditentukan pada lokasi yang ditentukan. |