C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

VSTOでRibbonButtonをPerformClick /あひる (17/12/04(Mon) 09:56) #85931


親記事 / 返信無し
■85931 / 親階層)  VSTOでRibbonButtonをPerformClick
□投稿者/ あひる (1回)-(2017/12/04(Mon) 09:56:32)

分類:[.NET 全般] 

VSTOでRibbonButtonをプログラム内から、クリックするために、
WinFormのButtonにあるPerformClickメソッドを実現したいと思っています。

拡張メソッドを使って、出来そうだなと思ったのですが、Clickイベントを取ってきてからDelegateに変換することができません。

何か良い方法はないでしょうか?

        public static void PerformClick(this RibbonButton rbn)
        {
            var myType = rbn.GetType();
            var ev = myType.GetEvent("Click");
            // ↓がうまくとってこれない。何か方法はあるのだろうか。。
            var fi = rbn.GetType().GetField(ev.Name, BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public | BindingFlags.FlattenHierarchy);
            var del = (Delegate)fi.GetValue(rbn);
            var list = del.GetInvocationList();
            foreach(var d in list)
            {
                d.DynamicInvoke(rbn, null);
            }
        }


[ □ Tree ] 返信 編集キー/


管理者用

- Child Tree -