using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace testgrid...{ public partial class Besier : Form ...{ protected Point[] apt = new Point[4]; public Besier() ...{ BackColor = SystemColors.Window; ForeColor = SystemColors.WindowText; ResizeRedraw = true; OnResize(EventArgs.Empty); InitializeComponent(); } protected override void OnResize(EventArgs e) ...{ base.OnResize(e); int cx = ClientSize.Width; int cy = ClientSize.Height; apt[0] = new Point(cx / 4, cy / 2); apt[1] = new Point(cx / 2, cy / 4); apt[2] = new Point(cx / 2, 3 * cy / 4); apt[3] = new Point(3 * cx / 4, cy / 2); } protected override void OnMouseDown(MouseEventArgs e) ...{ Point pt; if (e.Button == MouseButtons.Left) pt = apt[1]; else if (e.Button == MouseButtons.Right) pt = apt[2]; else return; Cursor.Position = PointToScreen(pt); } protected override void OnMouseMove(MouseEventArgs e) ...{ if (e.Button == MouseButtons.Left) ...{ apt[1] = new Point(e.X, e.Y); Invalidate(); } else if (e.Button == MouseButtons.Right) ...{ apt[2] = new Point(e.X, e.Y); Invalidate(); } } protected override void OnPaint(PaintEventArgs e) ...{ Graphics g = e.Graphics; g.DrawBeziers(new Pen(ForeColor), apt); Pen pen = new Pen(Color.FromArgb(0x80, ForeColor)); g.DrawLine(pen, apt[0], apt[1]); g.DrawLine(pen, apt[2], apt[3]); } }}