using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; class RectangleLinearGradientBrush: Form { MenuItem miChecked; public static void Main() { Application.Run(new RectangleLinearGradientBrush()); } public RectangleLinearGradientBrush() { ResizeRedraw = true; Menu = new MainMenu(); Menu.MenuItems.Add("&Gradient-Mode"); foreach (LinearGradientMode gm in Enum.GetValues(typeof(LinearGradientMode))) { MenuItem mi = new MenuItem(); mi.Text = gm.ToString(); mi.Click += new EventHandler(MenuGradientModeOnClick); Menu.MenuItems[0].MenuItems.Add(mi); } miChecked = Menu.MenuItems[0].MenuItems[0]; miChecked.Checked = true; } void MenuGradientModeOnClick(object obj, EventArgs ea) { miChecked.Checked = false; miChecked = (MenuItem) obj; miChecked.Checked = true; Invalidate(); } protected override void OnPaint(PaintEventArgs pea) { DoPage(pea.Graphics, ForeColor,ClientSize.Width, ClientSize.Height); } protected void DoPage(Graphics grfx, Color clr, int cx, int cy) { Rectangle rectBrush = new Rectangle(cx / 4, cy / 4, cx / 2, cy / 2); LinearGradientBrush lgbrush = new LinearGradientBrush( rectBrush, Color.White, Color.Black, (LinearGradientMode) miChecked.Index); grfx.FillRectangle(lgbrush, 0, 0, cx, cy); grfx.DrawRectangle(Pens.Black, rectBrush); } }