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

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

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

VSTOでRibbonButtonをPerformClick

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■85931 / inTopicNo.1)  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);
            }
        }


引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ