当前位置:编程学习 > C#/ASP.NET >>

清除panel时间的sizechanged事件的所有委托

我想清除panel的sizechanged事件的所有委托,用反射,但是提示没有设置引用,代码如下

  private void RemoveSizeChangeEvent(Panel b)                       
        {

            FieldInfo fi = typeof(Control).GetField("EventSizeChanged",
                               BindingFlags.Static | BindingFlags.NonPublic);
                object obj = fi.GetValue(b);
                PropertyInfo pi = b.GetType().GetProperty("Events",
                                  BindingFlags.NonPublic | BindingFlags.Instance);
                EventHandlerList list = (EventHandlerList)pi.GetValue(b, null);
                list.RemoveHandler(obj, list[obj]);
                MessageBox.Show(ex.ToString());
                return;

        }
是不是GetField("EventSizeChanged"那里出问题了?如何解决? --------------------编程问答-------------------- 可以参考:http://forum.yftek.com/showtopic-51.aspx
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,