Menus and Toolbars for WinForms
メッセージフィルタがインストールされていない場合のダイアログフォームの表示
タスク別ヘルプ > C1MainMenu のタスク > メッセージフィルタがインストールされていない場合のダイアログフォームの表示

C1Command では、メインメニューなどの機能を実装するために、メッセージフィルタをインストールする(IMessageFilter インタフェースを実装する)必要があります。ただし、(たとえば、C1Command がコンポーネントのデザイナで使用され、Visual Studio の設計時に実行される場合に)メッセージフィルタのインストールが機能しない場合があります。そのような場合でも、C1Command を使用できます。

T次のコードは、メッセージフィルタをインストールできない場合にダイアログフォームを表示する方法を示します。たとえば、この方法を使用して、コンポーネントのデザイナにダイアログフォームを表示できます。

Visual Basic コードの書き方

Visual Basic
コードのコピー
Imports C1.Win.C1Command
    C1CommandHolder.UninstallMessageFilter() 
    'C1CommandMsgHook を作成します。
    Dim hook As New C1CommandMsgHook()
    hook.Install()
    Try  
        result = dialog.ShowDialog()
    Finally
                Hook.Uninstall();
    End Try

C# コードの書き方

C#
コードのコピー
using C1.Win.C1Command
        ...
        C1CommandHolder.UninstallMessageFilter()
        C1CommandMsgHook hook = new C1CommandMsgHook()
        hook.Install()
        try  
        {
          result = dialog.ShowDialog()
        }
        finally
        {
          hook.Uninstall()
        }
関連トピック