Share via


IMenuCommandService Antarmuka

Definisi

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.

Berlaku untuk

Lihat juga