Mega Code Archive

 
Categories / C# / GUI Windows Form
 

RadioCheck MenuItem

using System; using System.Drawing; using System.Windows.Forms;     class CheckAndRadioCheck: Form {      MenuItem miColor, miFill;          public static void Main()      {           Application.Run(new CheckAndRadioCheck());      }      public CheckAndRadioCheck()      {           ResizeRedraw = true;               string[]     astrColor = {"Black", "Blue",    "Green",  "Cyan",                                     "Red",   "Magenta", "Yellow", "White"};           MenuItem[]   ami       = new MenuItem[astrColor.Length + 2];           EventHandler ehColor   = new EventHandler(MenuFormatColorOnClick);               for (int i = 0; i < astrColor.Length; i++)           {                ami[i] = new MenuItem(astrColor[i], ehColor);                ami[i].RadioCheck = true;           }           miColor = ami[0];           miColor.Checked = true;               ami[astrColor.Length] = new MenuItem("-");                      miFill = new MenuItem("&Fill",new EventHandler(MenuFormatFillOnClick));               ami[astrColor.Length + 1] = miFill;               MenuItem mi = new MenuItem("&Format", ami);                      Menu = new MainMenu(new MenuItem[] {mi});      }      void MenuFormatColorOnClick(object obj, EventArgs ea)      {           miColor.Checked = false;           miColor = (MenuItem)obj;           miColor.Checked = true;               Invalidate();      }      void MenuFormatFillOnClick(object obj, EventArgs ea)      {           MenuItem mi = (MenuItem)obj;               mi.Checked ^= true;               Invalidate();      }      protected override void OnPaint(PaintEventArgs pea)      {           if (miFill.Checked)           {                Console.WriteLine("fill");           }           else           {                Console.WriteLine("not fill");           }      } }