鼠标的释放与经过的。判断是不是左键按下去。
private void PanelPics_MouseUp(object sender, MouseEventArgs e)
{
if (XAt > 0 && YAt > 0)
{
if (e.Button == MouseButtons.Left)
{
PanelPics.Refresh();//刷新控件
XEndAt = e.X;
YEndAt = e.Y;
NUHeight.Value = YEndAt - YAt;//高度
NUWidth.Value = XEndAt - XAt; //宽度
Graphics g = PanelPics.CreateGraphics();//操作对象 panel(有背景的)
Rectangle rect = new Rectangle(XAt, YAt, (int)NUWidth.Value, (int)NUHeight.Value);
Pen BiSet = new Pen(Color.Lime, 1);
//BiSet.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot;// 画虚线
g.DrawRectangle(BiSet, rect);
g.Dispose();
}
}
}
编辑十字线
if (e.Button == MouseButtons.Left)
{
PanelPics.Refresh();
Graphics g = PanelPics.CreateGraphics();//操作对象 panel(有背景的)
Rectangle rect = new Rectangle(XAt, YAt, (int)NUWidth.Value, (int)NUHeight.Value);
Pen BiSet = new Pen(Color.YellowGreen, 1);
BiSet.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot;// 画虚线
Point LineBeginX = new Point(e.X - 30, e.Y);
Point LineEndX = new Point(e.X + 30, e.Y);
Point LineBeginY = new Point(e.X, e.Y + 30);
Point LineEndY = new Point(e.X, e.Y - 30);
g.DrawLine(BiSet, LineBeginX, LineEndX);
g.DrawLine(BiSet, LineBeginY, LineEndY);
g.Dispose();
}