2007-01-01 Jonathan Pobst <monkey@jpobst.com>
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / MainMenu.cs
index ad43910d8238da3d96e8a5f5b19cf4d04914ab19..db9f068c5b38bef7d4a84353a24a50550ff20b16 100644 (file)
@@ -47,8 +47,18 @@ namespace System.Windows.Forms
                        
                }
 
+#if NET_2_0
+               public MainMenu (IContainer container) : this ()
+               {
+                       container.Add (this);
+               }
+#endif
+
                #region Public Properties
                [Localizable(true)]
+#if NET_2_0
+               [AmbientValue (RightToLeft.Inherit)]
+#endif
                public virtual RightToLeft RightToLeft {
                        get { return right_to_left;}
                        set { right_to_left = value; }
@@ -120,8 +130,9 @@ namespace System.Windows.Forms
 
                        ThemeEngine.Current.DrawMenuBar (pe.Graphics, this, rect);
 
-                       if (Paint != null)
-                               Paint (this, pe);
+                       PaintEventHandler eh = (PaintEventHandler)(Events [PaintEvent]);
+                       if (eh != null)
+                               eh (this, pe);
                }
 
                internal override void InvalidateItem (MenuItem item)
@@ -162,7 +173,12 @@ namespace System.Windows.Forms
                        tracker.OnMotion (args);
                }
 
-               internal event PaintEventHandler Paint;
+               static object PaintEvent = new object ();
+
+               internal event PaintEventHandler Paint {
+                       add { Events.AddHandler (PaintEvent, value); }
+                       remove { Events.RemoveHandler (PaintEvent, value); }
+               }
 
                #endregion Private Methods
        }