Triangle Tile
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
class TriangleTile: Form
{
const int iSide = 50; // Side of square for triangle
MenuItem miChecked;
public static void Main()
{
Application.Run(new TriangleTile());
}
public TriangleTile()
{
ResizeRedraw = true;
Menu = new MainMenu();
Menu.MenuItems.Add("&Wrap-Mode");
foreach (WrapMode wm in Enum.GetValues(typeof(WrapMode)))
{
MenuItem mi = new MenuItem();
mi.Text = wm.ToString();
mi.Click += new EventHandler(MenuWrapModeOnClick);
Menu.MenuItems[0].MenuItems.Add(mi);
}
miChecked = Menu.MenuItems[0].MenuItems[0];
miChecked.Checked = true;
}
void MenuWrapModeOnClick(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)
{
Point[] apt = { new Point(0, 0),
new Point(iSide, 0),
new Point(0, iSide)};
PathGradientBrush pgbrush =
new PathGradientBrush(apt, (WrapMode) miChecked.Index);
grfx.FillRectangle(pgbrush, 0, 0, cx, cy);
}
}
Related examples in the same category