IMenuCommandServiceとは? わかりやすく解説

IMenuCommandService インターフェイス

グローバル デザイナ動詞デザイン モード使用できるメニュー コマンド管理しいくつかの種類ショートカット メニュー表示するためのメソッド提供します

名前空間: System.ComponentModel.Design
アセンブリ: System (system.dll 内)
構文構文

<ComVisibleAttribute(True)> _
Public Interface IMenuCommandService
Dim instance As IMenuCommandService
[ComVisibleAttribute(true)] 
public interface IMenuCommandService
[ComVisibleAttribute(true)] 
public interface class IMenuCommandService
/** @attribute ComVisibleAttribute(true) */ 
public interface IMenuCommandService
ComVisibleAttribute(true) 
public interface IMenuCommandService
解説解説

このインターフェイスは、以下の処理を行うメソッド提供します

デザイナ動詞は、デザイン モードショートカット メニュー表示されるカスタム定義のコマンド表しますデザイナ動詞は、指定したテキスト ラベルを提供できます。各デザイナ動詞には、一意CommandID自動的に割り当てられます。デザイナは、その Verbs プロパティ通じてデザイナ動詞を提供できますが、これらを使用できるのは、デザイナコンポーネントが現在選択されているときだけです。グローバル デザイナ動詞は、選択されているコンポーネントに関係なく、デザイン モードショートカット メニューからアクセスできるデザイナ動詞コマンドです。このインターフェイス使用すると、デザイン モード使用できるグローバル デザイナ動詞セット管理できます

AddVerb メソッド使用するグローバル デザイナ動詞追加でき、RemoveVerb メソッド使用するグローバル デザイナ動詞削除できますデザイナ動詞CommandIDわかっていれば、GlobalInvoke メソッド使用してその動詞呼び出せます。このインターフェイスの Verbs プロパティには、ショートカット メニュー表示するデザイナ動詞コマンド現在のセット格納されています。このデザイナ動詞コマンドセットは、すべてのグローバル デザイナ動詞と、現在選択されているコンポーネントデザイナによって提供されるデザイナ動詞構成されます。この動詞セットは、デザイナ動詞コマンド提供しているデザイナ対応するコンポーネント選択されたり、選択解除されたりするたびに更新されます。

メニュー コマンドは、定義済み標準コマンドセット限定されます。定義済み標準コマンドのほとんどは、StandardCommands 列挙体と MenuCommands 列挙体で定義されています。メニュー コマンド追加削除呼び出しが行ます。また、このインターフェイスメソッド使用してメニュー追加されメニュー コマンド検索できます

AddCommand メソッド使用する標準メニュー コマンド追加でき、RemoveCommand メソッド使用する標準メニュー コマンド削除できますAddCommand メソッドドキュメント記述されている手順に従うと、定義済みメニュー コマンドイベント ハンドラ結び付けることができます。FindCommand メソッド使用してメニュー コマンドメニュー追加されていた場合CommandID により、そのメニュー コマンド検索できますGlobalInvoke メソッド使用してCommandIDメニュー コマンドデザイナ動詞コマンド呼び出せます。

メモメモ

既に存在している CommandIDメニュー コマンド追加しようとすると、InvalidOperationException がスローさます。メニュー コマンド追加するときは、FindCommand メソッド使用して、そのコマンドメニュー上に存在していないことを確認するか、例外処理使用して適宜必要な処理を行ってください

ShowContextMenu メソッド使用してメニュー コマンド格納している特定の標準ショートカット メニュー指定した位置表示できます。このメソッドドキュメントには、表示する有効なメニュー指定するコマンド ID一覧表記載されています。

使用例使用例

IMenuCommandService使用して、MenuCommand を追加する例を次に示します

<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
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand,
 Name = "FullTrust")] 
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.");
    }
}
   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."
 );
      }
   };
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
IMenuCommandService メンバ
System.ComponentModel.Design 名前空間
MenuCommand
DesignerVerb クラス
CommandID クラス
MenuCommands
StandardCommands

IMenuCommandService プロパティ


パブリック プロパティパブリック プロパティ

参照参照

関連項目

IMenuCommandService インターフェイス
System.ComponentModel.Design 名前空間
MenuCommand
DesignerVerb クラス
CommandID クラス
MenuCommands
StandardCommands

IMenuCommandService メソッド


IMenuCommandService メンバ

グローバル デザイナ動詞デザイン モード使用できるメニュー コマンド管理しいくつかの種類ショートカット メニュー表示するためのメソッド提供します

IMenuCommandService データ型公開されるメンバを以下の表に示します


パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
参照参照

関連項目

IMenuCommandService インターフェイス
System.ComponentModel.Design 名前空間
MenuCommand
DesignerVerb クラス
CommandID クラス
MenuCommands
StandardCommands



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「IMenuCommandService」の関連用語

IMenuCommandServiceのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



IMenuCommandServiceのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS