mdiClient.Paint += new PaintEventHandler(OnMdiClientPaint);
System.Reflection.MethodInfo mi = (mdiClient as Control).GetType().GetMethod("SetStyle", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
mi.Invoke(mdiClient, new object[] { ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw, true });

解决方案 »

  1.   


    AddHandler mdiClient.Paint, AddressOf OnMdiClientPaint 
    Dim mi As System.Reflection.MethodInfo = TryCast(mdiClient, Control).[GetType]().GetMethod("SetStyle", System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance) 
    mi.Invoke(mdiClient, New Object() {ControlStyles.AllPaintingInWmPaint Or ControlStyles.UserPaint Or ControlStyles.OptimizedDoubleBuffer Or ControlStyles.ResizeRedraw, True}) 
      

  2.   


    AddHandler mdiClient.Paint, AddressOf OnMdiClientPaint 
    Dim mi As System.Reflection.MethodInfo = TryCast(mdiClient, Control).[GetType]().GetMethod("SetStyle", System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance) 
    mi.Invoke(mdiClient, New Object() {ControlStyles.AllPaintingInWmPaint Or ControlStyles.UserPaint Or ControlStyles.OptimizedDoubleBuffer Or ControlStyles.ResizeRedraw, True}) 
      

  3.   

    不需要吧,一样的,只是大小写可能有所不同.
    如new ->New
    object[] 可能改为 Object() 
    System.Reflection.MethodInfo mi -> Dim mis As System.Reflection.MethodInfo = ....
    每句的";"删除掉.
    去试一下吧
      

  4.   

    AddressOf OnMdiClientPaint这里不行啊
      

  5.   

    我自己研究出来了,vb和c#变化还蛮有趣的。就是图象有些拖尾不太理想。感谢各位!加点分给各位,感谢帮助!