void do多次圈选_Click(object sender, EventArgs e) { var __绘制参数 = new M区域绘制参数 { 边框宽度 = 1, 边框颜色 = Color.FromArgb(180, Color.Green), 填充颜色 = Color.FromArgb(20, Color.Green) }; var __圆形索引 = new List <ulong>(); var __矩形索引 = new List <ulong>(); var __多边形索引 = new List <ulong>(); Action <M经纬度, int> __处理圈选圆形 = (__圆心, __半径) => __圆形索引.Add(_IF地图.添加圆(__圆心, __半径, __绘制参数)); Action <M经纬度, M经纬度> __处理圈选矩形 = (__左上角, __右下角) => __矩形索引.Add(_IF地图.添加矩形(__左上角, __右下角, __绘制参数)); Action <List <M经纬度> > __处理圈选多边形 = __顶点列表 => __多边形索引.Add(_IF地图.添加多边形(__顶点列表, __绘制参数)); _多次圈选窗口.处理矩形圈选结束 += __处理圈选矩形; _多次圈选窗口.处理圆形圈选结束 += __处理圈选圆形; _多次圈选窗口.处理多边形圈选结束 += __处理圈选多边形; _多次圈选窗口.VisibleChanged += (sender1, e1) => { if (!_多次圈选窗口.Visible) { _多次圈选窗口.除圈选区域(); //删除图形 __圆形索引.ForEach(q => _IF地图.除圆(q)); __矩形索引.ForEach(q => _IF地图.除矩形(q)); __多边形索引.ForEach(q => _IF地图.除多边形(q)); _多次圈选窗口.处理矩形圈选结束 -= __处理圈选矩形; _多次圈选窗口.处理圆形圈选结束 -= __处理圈选圆形; _多次圈选窗口.处理多边形圈选结束 -= __处理圈选多边形; } }; _多次圈选窗口.Visible = true; }
private void 添加多次圈选(F纯地图 __纯地图) { var __圆形索引 = new List <ulong>(); var __矩形索引 = new List <ulong>(); var __多边形索引 = new List <ulong>(); var __绘制参数 = new M区域绘制参数 { 边框宽度 = 1, 边框颜色 = Color.FromArgb(180, Color.Green), 填充颜色 = Color.FromArgb(20, Color.Green) }; Action <M经纬度, int> __处理圈选圆形 = (__圆心, __半径) => __圆形索引.Add(__纯地图.地图.添加圆(__圆心, __半径, __绘制参数)); Action <M经纬度, M经纬度> __处理圈选矩形 = (__左上角, __右下角) => __矩形索引.Add(__纯地图.地图.添加矩形(__左上角, __右下角, __绘制参数)); Action <List <M经纬度> > __处理圈选多边形 = __顶点列表 => __多边形索引.Add(__纯地图.地图.添加多边形(__顶点列表, __绘制参数)); var __圈选控件 = new F圈选_多次(__纯地图.地图) { Left = __纯地图.Left + 50, Top = __纯地图.Top + 10, }; __圈选控件.处理矩形圈选结束 += __处理圈选矩形; __圈选控件.处理圆形圈选结束 += __处理圈选圆形; __圈选控件.处理多边形圈选结束 += __处理圈选多边形; __圈选控件.请求关闭 += () => { __圆形索引.ForEach(q => __纯地图.地图.除圆(q)); __矩形索引.ForEach(q => __纯地图.地图.除矩形(q)); __多边形索引.ForEach(q => __纯地图.地图.除多边形(q)); __圈选控件.除圈选区域(); __纯地图.Controls.Remove(__圈选控件); __圈选控件.Dispose(); }; __纯地图.Controls.Add(__圈选控件); __圈选控件.BringToFront(); }
public UInt64 添加多边形(List <Point> __点列表, M区域绘制参数 __绘制参数, object __绑定对象 = null) { return(base.添加多边形(__点列表.Select(转换).ToList(), __绘制参数, __绑定对象)); }
public UInt64 添加圆(Point __圆心, int __半径, M区域绘制参数 __绘制参数, object __绑定对象 = null) { return(base.添加圆(转换(__圆心), __半径, __绘制参数, __绑定对象)); }