Files
barcodeManager/LibShapes/Core/State/StateStandby.cs

46 lines
1.4 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Io.Github.Kerwinxu.LibShapes.Core.State
{
public class StateStandby : State
{
public StateStandby(UserControlCanvas canvas, PointF start_pointF):base(canvas,start_pointF)
{
}
public StateStandby(UserControlCanvas canvas) : base(canvas)
{
this.canvas.changeSelect(null);// null表示没有选择然后就是纸张。
}
public override void LeftMouseDown(PointF pointF)
{
// 首先看看是否有选择的图形
var shape = this.canvas.shapes.getSelectShape(pointF);
if (shape != null)
{
this.canvas.changeSelect(shape); // 选择这个
this.canvas.state = new StateSelected(this.canvas, pointF); // 改变状态
this.canvas.state.LeftMouseDown(pointF); // 调用他的处理
}
else
{
this.canvas.changeSelect(null);
this.canvas.state = new ShapeRectSelect(this.canvas, pointF);
this.canvas.state.LeftMouseDown(pointF);
}
this.canvas.Refresh();
//base.LeftMouseDown(e);
}
}
}