Bagikan melalui


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.

Kata kerja perancang 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 set kata kerja desainer global yang tersedia dalam mode desain.

Anda dapat menambahkan kata kerja perancang global menggunakan metode , AddVerb dan Anda dapat menghapus kata kerja desainer global menggunakan metode .RemoveVerb Anda dapat memanggil kata kerja perancang menggunakan GlobalInvoke metode jika Anda mengetahui CommandID kata kerja. Properti Verbs antarmuka ini berisi sekumpulan perintah kata kerja perancang saat ini untuk ditampilkan di menu pintasan. Sekumpulan perintah kata kerja perancang ini terdiri dari semua kata kerja perancang 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 dibatasi 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 CommandID menu dengan jika telah ditambahkan ke menu menggunakan FindCommand metode . Anda dapat memanggil perintah menu atau perintah kata kerja perancang dengan CommandID menggunakan metode .GlobalInvoke

Nota

Upaya untuk menambahkan perintah menu dengan yang sudah ada CommandID akan melempar InvalidOperationException. Saat menambahkan perintah menu, pastikan untuk memeriksa bahwa perintah tersebut belum ada di menu menggunakan FindCommand metode , atau gunakan penanganan pengecualian dengan bijak.

Nota

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

Nama Deskripsi
Verbs

Mendapatkan koleksi kata kerja perancang yang saat ini tersedia.

Metode

Nama Deskripsi
AddCommand(MenuCommand)

Menambahkan perintah menu standar yang ditentukan ke menu.

AddVerb(DesignerVerb)

Menambahkan kata kerja perancang yang ditentukan ke kumpulan kata kerja perancang global.

FindCommand(CommandID)

Mencari ID perintah yang ditentukan dan mengembalikan perintah menu yang terkait dengannya.

GlobalInvoke(CommandID)

Memanggil menu atau perintah kata kerja 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 perancang global.

ShowContextMenu(CommandID, Int32, Int32)

Memperlihatkan menu pintasan yang ditentukan pada lokasi yang ditentukan.

Berlaku untuk

Lihat juga