Merge pull request #439 from mono-soc-2012/garyb/iconfix
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / AxHost.cs
index 97cfc44f1c93997593a0c0b6f60e7a850c93e60d..867f9f96503566bd6aef342d6783f468dcb1308e 100644 (file)
@@ -24,8 +24,6 @@
 //
 //
 
-// NOT COMPLETE
-
 using System;
 using System.ComponentModel;
 using System.Drawing;
@@ -39,171 +37,214 @@ namespace System.Windows.Forms {
        [Designer("System.Windows.Forms.Design.AxHostDesigner, " + Consts.AssemblySystem_Design, "System.ComponentModel.Design.IDesigner")]
        [DesignTimeVisible(false)]
        [ToolboxItem(false)]
+       [ClassInterface (ClassInterfaceType.AutoDispatch)]
+       [ComVisible (true)]
        public abstract class AxHost : Control, ISupportInitialize, ICustomTypeDescriptor {
                #region AxHost Subclasses
-                       #region AxHost.ActiveXInvokeKind Enum
-                       public enum ActiveXInvokeKind {
-                               MethodInvoke    = 0,
-                               PropertyGet     = 1,
-                               PropertySet     = 2
+               #region AxHost.ActiveXInvokeKind Enum
+               public enum ActiveXInvokeKind {
+                       MethodInvoke    = 0,
+                       PropertyGet     = 1,
+                       PropertySet     = 2
+               }
+               #endregion      // AxHost.ActiveXInvokeKind Enum
+
+               #region AxHost.AxComponentEditor Class
+               [ComVisible (false)]
+               public class AxComponentEditor : System.Windows.Forms.Design.WindowsFormsComponentEditor {
+                       public AxComponentEditor ()
+                       {
+                               throw new NotImplementedException("COM/ActiveX support is not implemented");
                        }
-                       #endregion      // AxHost.ActiveXInvokeKind Enum
 
-                       #region AxHost.AxComponentEditor Class
-                       public class AxComponentEditor : System.Windows.Forms.Design.WindowsFormsComponentEditor {
-                               public AxComponentEditor() {
-                                       throw new NotImplementedException("COM/ActiveX support is not implemented");
-                               }
-
-                               public override bool EditComponent(ITypeDescriptorContext context, object obj, IWin32Window parent) {
-                                       throw new NotImplementedException("COM/ActiveX support is not implemented");
-                               }
+                       public override bool EditComponent (ITypeDescriptorContext context, object obj, IWin32Window parent)
+                       {
+                               throw new NotImplementedException("COM/ActiveX support is not implemented");
                        }
-                       #endregion      // AxHost.AxComponentEditor Class
-
-                       #region AxHost.ClsidAttribute
-                       [AttributeUsage(AttributeTargets.Class,Inherited=false)]
-                       public sealed class ClsidAttribute : Attribute {
-                               string clsid;
+               }
+               #endregion      // AxHost.AxComponentEditor Class
 
-                               public ClsidAttribute (string clsid) {
-                                       this.clsid = clsid;
-                               }
+               #region AxHost.ClsidAttribute
+               [AttributeUsage(AttributeTargets.Class,Inherited=false)]
+               public sealed class ClsidAttribute : Attribute {
+                       string clsid;
 
-                               public string Value {
-                                       get {
-                                               return clsid;
-                                       }
-                               }
+                       public ClsidAttribute (string clsid)
+                       {
+                               this.clsid = clsid;
                        }
-                       #endregion AxHost.ClsidAttribute
 
-                       #region AxHost.ConnectionPointCookie
-                       [ComVisible(false)]
-                       public class ConnectionPointCookie {
-                               public ConnectionPointCookie(object source, object sink, Type eventInterface) {
-                                       throw new NotImplementedException("COM/ActiveX support is not implemented");
-                               }
+                       public string Value {
+                               get { return clsid; }
+                       }
+               }
+               #endregion AxHost.ClsidAttribute
+               
+               #region AxHost.ConnectionPointCookie
+               public class ConnectionPointCookie {
+                       public ConnectionPointCookie (object source, object sink, Type eventInterface)
+                       {
+                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                       }
 
-                               public void Disconnect() {
-                                       throw new NotImplementedException("COM/ActiveX support is not implemented");
-                               }
+                       public void Disconnect ()
+                       {
+                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                       }
 
-                               ~ConnectionPointCookie() {
-                                       throw new NotImplementedException("COM/ActiveX support is not implemented");
-                               }
+                       ~ConnectionPointCookie ()
+                       {
+                               throw new NotImplementedException("COM/ActiveX support is not implemented");
                        }
-                       #endregion      // AxHost.ConnectionPointCookie
+               }
+               #endregion      // AxHost.ConnectionPointCookie
                
-                       #region AxHost.InvalidActiveXStateException  Class
-                       public class InvalidActiveXStateException : Exception {
-                               public InvalidActiveXStateException(string name, ActiveXInvokeKind kind) {
-                                       throw new NotImplementedException("COM/ActiveX support is not implemented");
-                               }
+               #region AxHost.InvalidActiveXStateException  Class
+               public class InvalidActiveXStateException : Exception {
+                       public InvalidActiveXStateException ()
+                       {
+                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                       }
 
-                               public override string ToString() {
-                                       throw new NotImplementedException("COM/ActiveX support is not implemented");
-                               }
+                       public InvalidActiveXStateException (string name, ActiveXInvokeKind kind)
+                       {
+                               throw new NotImplementedException("COM/ActiveX support is not implemented");
                        }
-                       #endregion      // AxHost.InvalidActiveXStateException  Class
-                       
-                       #region AxHost.State Class
-                       [Serializable]
-                       [TypeConverter("System.ComponentModel.TypeConverter, " + Consts.AssemblySystem)]
-                       public class State : ISerializable {
-                               public State(Stream ms, int storageType, bool manualUpdate, string licKey) {
-                                       //throw new NotImplementedException("COM/ActiveX support is not implemented");
-                               }
 
-                               private State(SerializationInfo info, StreamingContext context) {
-                               }
+                       public override string ToString ()
+                       {
+                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                       }
+               }
+               #endregion      // AxHost.InvalidActiveXStateException  Class
+                       
+               #region AxHost.State Class
+               [Serializable]
+               [TypeConverter("System.ComponentModel.TypeConverter, " + Consts.AssemblySystem)]
+               public class State : ISerializable {
+                       public State (Stream ms, int storageType, bool manualUpdate, string licKey)
+                       {
+                               //throw new NotImplementedException("COM/ActiveX support is not implemented");
+                       }
 
-                               void ISerializable.GetObjectData(SerializationInfo si,StreamingContext context) {
-                                       //throw new NotImplementedException("COM/ActiveX support is not implemented");
-                               }
+                       protected State (SerializationInfo info, StreamingContext context)
+                       {
                        }
-                       #endregion      // AxHost.State Class
 
-                       #region AxHost.TypeLibraryTimeStampAttribute Class
-                       [AttributeUsage(AttributeTargets.Assembly, Inherited=false)]
-                       public sealed class TypeLibraryTimeStampAttribute : Attribute {
-                               public TypeLibraryTimeStampAttribute(string timestamp) {
-                                       throw new NotImplementedException("COM/ActiveX support is not implemented");
-                               }
+                       void ISerializable.GetObjectData (SerializationInfo si,StreamingContext context)
+                       {
+                               //throw new NotImplementedException("COM/ActiveX support is not implemented");
+                       }
+               }
+               #endregion      // AxHost.State Class
 
-                               public DateTime Value {
-                                       get {
-                                               throw new NotImplementedException("COM/ActiveX support is not implemented");
-                                       }
-                               }
+               #region AxHost.TypeLibraryTimeStampAttribute Class
+               [AttributeUsage(AttributeTargets.Assembly, Inherited=false)]
+               public sealed class TypeLibraryTimeStampAttribute : Attribute {
+                       public TypeLibraryTimeStampAttribute (string timestamp)
+                       {
+                               throw new NotImplementedException("COM/ActiveX support is not implemented");
                        }
-                       #endregion      // AxHost.TypeLibraryTimeStampAttribute Class
 
-                       #region AxHost.StateConverter Class
-                       public class StateConverter : System.ComponentModel.TypeConverter {
-                               public StateConverter() {
+                       public DateTime Value {
+                               get {
                                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                                }
+                       }
+               }
+               #endregion      // AxHost.TypeLibraryTimeStampAttribute Class
 
-                               public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) {
-                                       throw new NotImplementedException("COM/ActiveX support is not implemented");
-                               }
+               #region AxHost.StateConverter Class
+               public class StateConverter : System.ComponentModel.TypeConverter {
+                       public StateConverter ()
+                       {
+                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                       }
 
-                               public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) {
-                                       throw new NotImplementedException("COM/ActiveX support is not implemented");
-                               }
+                       public override bool CanConvertFrom (ITypeDescriptorContext context, Type sourceType)
+                       {
+                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                       }
 
-                               public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) {
-                                       throw new NotImplementedException("COM/ActiveX support is not implemented");
-                               }
+                       public override bool CanConvertTo (ITypeDescriptorContext context, Type destinationType)
+                       {
+                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                       }
 
-                               public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) {
-                                       throw new NotImplementedException("COM/ActiveX support is not implemented");
-                               }
+                       public override object ConvertFrom (ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
+                       {
+                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                       }
+
+                       public override object ConvertTo (ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
+                       {
+                               throw new NotImplementedException("COM/ActiveX support is not implemented");
                        }
-                       #endregion      // AxHost.StateConverter Class
+               }
+               #endregion      // AxHost.StateConverter Class
                #endregion      // AxHost Subclasses
 
-               string text;
+               //private int flags;
+               //private Guid clsid;
+               private AboutBoxDelegate aboutDelegate = null;
 
                #region Protected Constructors
-               protected AxHost(string clsid) {
-                       text = "";
-                       throw new NotImplementedException("COM/ActiveX support is not implemented");
+
+               [MonoTODO]
+               protected AxHost (string clsid) : this(clsid, 0)
+               {
+
                }
 
-               protected AxHost(string clsid, int flags) {
-                       throw new NotImplementedException("COM/ActiveX support is not implemented");
+               [MonoTODO]
+               protected AxHost (string clsid, int flags)
+               {
+                       //this.clsid = new Guid(clsid);
+                       //this.flags = flags;
                }
                #endregion      // Public Instance Properties
 
                #region Public Instance Properties
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
                public override Color BackColor {
                        get {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               return base.BackColor;
                        }
-
                        set {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               base.BackColor = value;
                        }
                }
                
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
                public override Image BackgroundImage {
                        get {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               return base.BackgroundImage;
                        }
 
                        set {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               base.BackgroundImage = value;
+                       }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
+               public override ImageLayout BackgroundImageLayout {
+                       get {
+                               return base.BackgroundImageLayout;
+                       }
+
+                       set {
+                               base.BackgroundImageLayout = value;
                        }
                }
                
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
                public ContainerControl ContainingControl {
                        get {
                                throw new NotImplementedException("COM/ActiveX support is not implemented");
@@ -214,88 +255,100 @@ namespace System.Windows.Forms {
                        }
                }
                
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
                public override ContextMenu ContextMenu {
                        get {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               return base.ContextMenu;
                        }
 
                        set {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               base.ContextMenu = value;
                        }
                }
                
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
                public override Cursor Cursor {
                        get {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               return base.Cursor;
                        }
 
                        set {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               base.Cursor = value;
                        }
                }
                
-               [Browsable(false)]
-               [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
+               [Browsable (false)]
+               [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
                public bool EditMode {
                        get {
                                throw new NotImplementedException("COM/ActiveX support is not implemented");
                        }
                }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
                public new virtual bool Enabled {
                        get {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               return base.Enabled;
                        }
 
                        set {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               base.Enabled = value;
                        }
                }
                
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
                public override Font Font {
                        get {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               return base.Font;
                        }
 
                        set {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               base.Font = value;
                        }
                }
                
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
                public override Color ForeColor {
                        get { 
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               return base.ForeColor;
                        }
 
                        set {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               base.ForeColor = value;
                        }
                }
                
-               [Browsable(false)]
-               [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
+               [Browsable (false)]
+               [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
                public bool HasAboutBox {
+                       get {
+                               return aboutDelegate != null;
+                       }
+               }
+
+               [Browsable (false)]
+               [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new ImeMode ImeMode {
                        get { 
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               return base.ImeMode;
+                       }
+                       set { 
+                               base.ImeMode = value;
                        }
                }
                
-               [Browsable(false)]
-               [DefaultValue(null)]
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               [RefreshProperties(RefreshProperties.All)]
+               [Browsable (false)]
+               [DefaultValue (null)]
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               [RefreshProperties (RefreshProperties.All)]
                public AxHost.State OcxState {
                        get {
                                throw new NotImplementedException("COM/ActiveX support is not implemented");
@@ -306,16 +359,17 @@ namespace System.Windows.Forms {
                        }
                }
                
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               [Localizable(true)]
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               [Localizable (true)]
                public new virtual bool RightToLeft {
                        get {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               return base.RightToLeft == System.Windows.Forms.RightToLeft.Yes;
                        }
 
                        set {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
+                               base.RightToLeft = (value ? System.Windows.Forms.RightToLeft.Yes : 
+                                                       System.Windows.Forms.RightToLeft.No);
                        }
                }
                
@@ -324,25 +378,18 @@ namespace System.Windows.Forms {
                                throw new NotImplementedException("COM/ActiveX support is not implemented");
                        }
                }
-               
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public override string Text {
-                       get {
-                               return text;
-                       }
 
-                       set {
-                               text = value;
-                       }
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public override string Text {
+                       get { return base.Text; }
+                       set { base.Text = value; }
                }
                #endregion      // Protected Constructors
                
                #region Protected Instance Properties
                protected override CreateParams CreateParams {
-                       get {
-                               throw new NotImplementedException("COM/ActiveX support is not implemented");
-                       }
+                       get { return base.CreateParams; }
                }
                
                protected override Size DefaultSize {
@@ -354,477 +401,668 @@ namespace System.Windows.Forms {
 
                #region Protected Static Methods
                [CLSCompliant(false)]
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected static Color GetColorFromOleColor(uint color){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected static Color GetColorFromOleColor (uint color)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented"); 
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected static Font GetFontFromIFont(object font){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected static Font GetFontFromIFont (object font)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented"); 
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected static Font GetFontFromIFontDisp(object font){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected static Font GetFontFromIFontDisp (object font)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented"); 
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected static object GetIFontDispFromFont(Font font){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected static object GetIFontDispFromFont (Font font)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented"); 
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected static object GetIFontFromFont(Font font){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected static object GetIFontFromFont (Font font)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented"); 
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected static object GetIPictureDispFromPicture(Image image){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected static object GetIPictureDispFromPicture (Image image)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented"); 
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected static object GetIPictureFromCursor(Cursor cursor){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected static object GetIPictureFromCursor (Cursor cursor)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented"); 
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected static object GetIPictureFromPicture(Image image){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected static object GetIPictureFromPicture (Image image)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented"); 
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected static double GetOADateFromTime(DateTime time){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected static double GetOADateFromTime (DateTime time)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented"); 
                }
 
                [CLSCompliant(false)]
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected static uint GetOleColorFromColor(Color color){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected static uint GetOleColorFromColor (Color color)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented"); 
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected static Image GetPictureFromIPicture(object picture){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected static Image GetPictureFromIPicture (object picture)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented"); 
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected static Image GetPictureFromIPictureDisp(object picture){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected static Image GetPictureFromIPictureDisp (object picture)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented"); 
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected static DateTime GetTimeFromOADate(double date){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected static DateTime GetTimeFromOADate (double date)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented"); 
                }
                #endregion      // Protected Static Methods
 
                #region Public Instance Methods
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               public void BeginInit() {
-                       throw new NotImplementedException("COM/ActiveX support is not implemented");
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               [MonoTODO]
+               public void BeginInit ()
+               {
                }
                
-               public void DoVerb(int verb){
+               public void DoVerb (int verb)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               public void EndInit() {
-                       throw new NotImplementedException("COM/ActiveX support is not implemented");
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               [MonoTODO]
+               public void EndInit ()
+               {
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               public object GetOcx() {
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               public object GetOcx ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               public bool HasPropertyPages() {
+               public bool HasPropertyPages ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               public void InvokeEditMode(){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               public void InvokeEditMode ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               public void MakeDirty(){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               public void MakeDirty ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               public override bool PreProcessMessage(ref Message msg) {
+               public override bool PreProcessMessage (ref Message msg)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               public void ShowAboutBox() {
-                       throw new NotImplementedException("COM/ActiveX support is not implemented");
+               public void ShowAboutBox ()
+               {
+                       if (aboutDelegate != null)
+                               this.aboutDelegate();
                }
                
-               public void ShowPropertyPages() {
+               public void ShowPropertyPages ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               public void ShowPropertyPages(Control control) {
+               public void ShowPropertyPages (Control control)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                #endregion      // Public Instance Methods
 
                #region Protected Instance Methods
-               protected virtual void AttachInterfaces() {
+               protected virtual void AttachInterfaces ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               protected override void CreateHandle() {
+               protected override void CreateHandle ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
-               
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected virtual void CreateSink(){
+
+               protected virtual object CreateInstanceCore (Guid clsid)
+               {
+                       throw new NotImplementedException("COM/ActiveX support is not implemented");
+               }
+
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected virtual void CreateSink ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               protected override void DestroyHandle() {
+               protected override void DestroyHandle ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected virtual void DetachSink(){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected virtual void DetachSink ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               protected override void Dispose(bool disposing) {
+               protected override void Dispose (bool disposing)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
-               
-               protected override bool IsInputChar(char charCode) {
+
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new void DrawToBitmap (Bitmap bitmap, Rectangle targetBounds)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
-               
-               protected override void OnBackColorChanged(EventArgs e) {
+
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected new virtual Rectangle GetScaledBounds (Rectangle bounds, SizeF factor, BoundsSpecified specified)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
-               
-               protected override void OnFontChanged(EventArgs e) {
+
+               protected override bool IsInputChar (char charCode)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               protected override void OnForeColorChanged(EventArgs e) {
-                       throw new NotImplementedException("COM/ActiveX support is not implemented");
+               protected override void OnBackColorChanged (EventArgs e)
+               {
+                       base.OnBackColorChanged(e);
+               }
+               
+               protected override void OnFontChanged (EventArgs e)
+               {
+                       base.OnFontChanged(e);
                }
                
-               protected override void OnHandleCreated(EventArgs e) {
+               protected override void OnForeColorChanged (EventArgs e)
+               {
+                       base.OnForeColorChanged(e);
+               }
+               
+               protected override void OnHandleCreated (EventArgs e)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               protected virtual void OnInPlaceActive() {
+               protected virtual void OnInPlaceActive ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected override void OnLostFocus(EventArgs e) {
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected override void OnLostFocus (EventArgs e)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               protected override bool ProcessDialogKey(Keys keyData) {
-                       throw new NotImplementedException("COM/ActiveX support is not implemented");
+               protected override bool ProcessDialogKey (Keys keyData)
+               {
+                       return base.ProcessDialogKey(keyData);
                }
 
-               protected override bool ProcessMnemonic(char charCode) {
+               protected override bool ProcessMnemonic (char charCode)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected bool PropsValid(){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected bool PropsValid ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented"); 
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected void RaiseOnMouseDown(short button, short shift, int x, int y){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected void RaiseOnMouseDown (short button, short shift, int x, int y)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected void RaiseOnMouseDown(short button, short shift, float x, float y){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected void RaiseOnMouseDown (short button, short shift, float x, float y)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected void RaiseOnMouseDown(object o1, object o2, object o3, object o4){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected void RaiseOnMouseDown (object o1, object o2, object o3, object o4)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected void RaiseOnMouseMove(short button, short shift, int x, int y){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected void RaiseOnMouseMove (short button, short shift, int x, int y)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected void RaiseOnMouseMove(short button, short shift, float x, float y){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected void RaiseOnMouseMove (short button, short shift, float x, float y)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected void RaiseOnMouseMove(object o1, object o2, object o3, object o4){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected void RaiseOnMouseMove (object o1, object o2, object o3, object o4)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected void RaiseOnMouseUp(short button, short shift, int x, int y){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected void RaiseOnMouseUp (short button, short shift, int x, int y)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected void RaiseOnMouseUp(short button, short shift, float x, float y){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected void RaiseOnMouseUp (short button, short shift, float x, float y)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               protected void RaiseOnMouseUp(object o1, object o2, object o3, object o4){
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               protected void RaiseOnMouseUp (object o1, object o2, object o3, object o4)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
 
-               protected void SetAboutBoxDelegate(AxHost.AboutBoxDelegate d) {
-                       throw new NotImplementedException("COM/ActiveX support is not implemented");
+               protected void SetAboutBoxDelegate (AxHost.AboutBoxDelegate d)
+               {
+                       this.aboutDelegate = d;
                }
                
-               protected override void SetBoundsCore(int x, int y, int width, int height, BoundsSpecified specified) {
-                       throw new NotImplementedException("COM/ActiveX support is not implemented");
+               protected override void SetBoundsCore (int x, int y, int width, int height, BoundsSpecified specified)
+               {
+                       base.SetBoundsCore(x, y, width, height, specified);
                }
                
-               protected override void SetVisibleCore(bool value) {
+               protected override void SetVisibleCore (bool value)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               protected override void WndProc(ref Message m) {
+               protected override void WndProc (ref Message m)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                #endregion      // Protected Instance Methods
 
-               #region Private Instance Methods
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               private bool ShouldSerializeContainingControl() {
-                       throw new NotImplementedException("COM/ActiveX support is not implemented");
+               #region Events
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler BackColorChanged {
+                       add { throw new NotSupportedException("BackColorChanged"); }
+                       remove { }
                }
-               #endregion      // Protected Instance Methods
 
-               #region Events
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               BackColorChanged;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler BackgroundImageChanged {
+                       add { throw new NotSupportedException("BackgroundImageChanged"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler BindingContextChanged {
+                       add { throw new NotSupportedException("BackgroundImageChanged"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event UICuesEventHandler ChangeUICues {
+                       add { throw new NotSupportedException("ChangeUICues"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler Click {
+                       add { throw new NotSupportedException("Click"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               BackgroundImageChanged;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler ContextMenuChanged {
+                       add { throw new NotSupportedException("ContextMenuChanged"); }
+                       remove { }
+               }
+       
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler CursorChanged {
+                       add { throw new NotSupportedException("CursorChanged"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               BindingContextChanged;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler DoubleClick {
+                       add { throw new NotSupportedException("DoubleClick"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event UICuesEventHandler         ChangeUICues;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event DragEventHandler DragDrop {
+                       add { throw new NotSupportedException("DragDrop"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               Click;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event DragEventHandler DragEnter {
+                       add { throw new NotSupportedException("DragEnter"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               ContextMenuChanged;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler DragLeave {
+                       add { throw new NotSupportedException("DragLeave"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               CursorChanged;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event DragEventHandler DragOver {
+                       add { throw new NotSupportedException("DragOver"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               DoubleClick;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler EnabledChanged {
+                       add { throw new NotSupportedException("EnabledChanged"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event DragEventHandler           DragDrop;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler FontChanged {
+                       add { throw new NotSupportedException("FontChanged"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event DragEventHandler           DragEnter;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               DragLeave;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event DragEventHandler           DragOver;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               EnabledChanged;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               FontChanged;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               ForeColorChanged;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event GiveFeedbackEventHandler   GiveFeedback;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event HelpEventHandler           HelpRequested;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               ImeModeChanged;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event KeyEventHandler            KeyDown;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event KeyPressEventHandler       KeyPress;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event KeyEventHandler            KeyUp;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event LayoutEventHandler         Layout;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event MouseEventHandler          MouseDown;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               MouseEnter;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               MouseHover;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               MouseLeave;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler ForeColorChanged {
+                       add { throw new NotSupportedException("ForeColorChanged"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event MouseEventHandler          MouseMove;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event GiveFeedbackEventHandler GiveFeedback {
+                       add { throw new NotSupportedException("GiveFeedback"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event MouseEventHandler          MouseUp;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event HelpEventHandler HelpRequested {
+                       add { throw new NotSupportedException("HelpRequested"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event MouseEventHandler          MouseWheel;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler ImeModeChanged {
+                       add { throw new NotSupportedException("ImeModeChanged"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event KeyEventHandler KeyDown {
+                       add { throw new NotSupportedException("KeyDown"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event KeyPressEventHandler KeyPress {
+                       add { throw new NotSupportedException("KeyPress"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event KeyEventHandler KeyUp {
+                       add { throw new NotSupportedException("KeyUp"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event PaintEventHandler          Paint;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event LayoutEventHandler Layout {
+                       add { throw new NotSupportedException("Layout"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event QueryAccessibilityHelpEventHandler QueryAccessibilityHelp;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event MouseEventHandler MouseDown {
+                       add { throw new NotSupportedException("MouseDown"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event QueryContinueDragEventHandler      QueryContinueDrag;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler MouseEnter {
+                       add { throw new NotSupportedException("MouseEnter"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               RightToLeftChanged;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler MouseHover {
+                       add { throw new NotSupportedException("MouseHover"); }
+                       remove { }
+               }
 
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               StyleChanged;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler MouseLeave {
+                       add { throw new NotSupportedException("MouseLeave"); }
+                       remove { }
+               }
 
-#if !NET_2_0
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               TabIndexChanged;
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               TabStopChanged;
-#endif
-
-               [Browsable(false)]
-               [EditorBrowsable(EditorBrowsableState.Never)]
-               public event EventHandler               TextChanged;
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event MouseEventHandler MouseMove {
+                       add { throw new NotSupportedException("MouseMove"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event MouseEventHandler MouseUp {
+                       add { throw new NotSupportedException("MouseUp"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event MouseEventHandler MouseWheel {
+                       add { throw new NotSupportedException("MouseWheel"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event PaintEventHandler Paint {
+                       add { throw new NotSupportedException("Paint"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event QueryAccessibilityHelpEventHandler QueryAccessibilityHelp {
+                       add { throw new NotSupportedException("QueryAccessibilityHelp"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event QueryContinueDragEventHandler QueryContinueDrag {
+                       add { throw new NotSupportedException("QueryContinueDrag"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler RightToLeftChanged {
+                       add { throw new NotSupportedException("RightToLeftChanged"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler StyleChanged {
+                       add { throw new NotSupportedException("StyleChanged"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler BackgroundImageLayoutChanged {
+                       add { throw new NotSupportedException("BackgroundImageChanged"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler MouseClick {
+                       add { throw new NotSupportedException("BackgroundImMouseClickageChanged"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler MouseDoubleClick {
+                       add { throw new NotSupportedException("MouseDoubleClick"); }
+                       remove { }
+               }
+
+               [Browsable (false)]
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               public new event EventHandler TextChanged {
+                       add { throw new NotSupportedException("TextChanged"); }
+                       remove { }
+               }
                #endregion      // Events
 
                #region Delegates
-               [Serializable]
-               protected delegate void AboutBoxDelegate();
+               protected delegate void AboutBoxDelegate ();
                #endregion      // Delegates
 
                #region Interfaces
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               AttributeCollection ICustomTypeDescriptor.GetAttributes() {
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               AttributeCollection ICustomTypeDescriptor.GetAttributes ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               string ICustomTypeDescriptor.GetClassName() {
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               string ICustomTypeDescriptor.GetClassName ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               string ICustomTypeDescriptor.GetComponentName() {
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               string ICustomTypeDescriptor.GetComponentName ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               TypeConverter ICustomTypeDescriptor.GetConverter() {
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               TypeConverter ICustomTypeDescriptor.GetConverter ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               EventDescriptor ICustomTypeDescriptor.GetDefaultEvent() {
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               EventDescriptor ICustomTypeDescriptor.GetDefaultEvent ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               PropertyDescriptor ICustomTypeDescriptor.GetDefaultProperty() {
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               PropertyDescriptor ICustomTypeDescriptor.GetDefaultProperty ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               object ICustomTypeDescriptor.GetEditor(Type editorBaseType) {
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               object ICustomTypeDescriptor.GetEditor (Type editorBaseType)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               EventDescriptorCollection ICustomTypeDescriptor.GetEvents() {
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               EventDescriptorCollection ICustomTypeDescriptor.GetEvents ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               EventDescriptorCollection ICustomTypeDescriptor.GetEvents(Attribute[] attributes) {
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               EventDescriptorCollection ICustomTypeDescriptor.GetEvents (Attribute[] attributes)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties() {
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties ()
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties(Attribute[] attributes) {
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties (Attribute[] attributes)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                
-               [EditorBrowsable(EditorBrowsableState.Advanced)]
-               object ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor pd) {
+               [EditorBrowsable (EditorBrowsableState.Advanced)]
+               object ICustomTypeDescriptor.GetPropertyOwner (PropertyDescriptor pd)
+               {
                        throw new NotImplementedException("COM/ActiveX support is not implemented");
                }
                #endregion      // Interfaces