IMenuCommandService インターフェイスとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > 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



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

辞書ショートカット

すべての辞書の索引

「IMenuCommandService インターフェイス」の関連用語

IMenuCommandService インターフェイスのお隣キーワード
検索ランキング

   

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



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

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

©2025 GRAS Group, Inc.RSS