using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; class PenDashCaps: Form { MenuItem miChecked; public static void Main() { Application.Run(new PenDashCaps()); } public PenDashCaps() { ResizeRedraw = true; Menu = new MainMenu(); Menu.MenuItems.Add("&Width"); int[] aiWidth = { 1, 2, 5, 10, 15, 20, 25 }; foreach (int iWidth in aiWidth) Menu.MenuItems[0].MenuItems.Add(iWidth.ToString(), new EventHandler(MenuWidthOnClick)); miChecked = Menu.MenuItems[0].MenuItems[0]; miChecked.Checked = true; } void MenuWidthOnClick(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) { Pen pen = new Pen(clr, Convert.ToInt32(miChecked.Text)); pen.DashStyle = DashStyle.DashDotDot; foreach (DashCap dc in Enum.GetValues(typeof(DashCap))) { pen.DashCap = dc; grfx.DrawLine(pen, cx / 8, cy / 4, 7 * cx / 8, cy / 4); grfx.TranslateTransform(0, cy / 4); } } }