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");
}
}
}
|