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