ArcEngine 开发自动完成多边形功能
[csharp]
using System;
using System.Collections.Generic;
using System.Text;
using GIS.ArcGIS.Commands.SelEx;
using ESRI.ArcGIS.Controls;
using Net.Resource;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.Display;
using GIS.ArcGIS.Common;
using GIS.ArcGIS.Carto;
using GIS.ArcGIS.EditEx;
using System.Windows.Forms;
namespace GIS.ArcGIS.Commands.EditEx
{
/// <summary>
/// ArcEngine 开发自动完成多边形功能
/// vp:hsg
/// create date:2012-07-20
/// modify date:2013-03-12
/// </summary>
public class EditAutoCompletePolygonTool : EditGisBaseTool, ILineSelect
{
private EngineEditorClass eedit = new EngineEditorClass();
public EditAutoCompletePolygonTool()
{
}
~EditAutoCompletePolygonTool()
{
try
{
m_Cursor = null;
}
catch (Exception ee)
{
}
}
#region ICommand 成员
public override int Bitmap
{
get
{
return 0;
}
}
public string Description
{
get { return "自动完成多边形功能"; }
}
public override string Caption
{
get { return this.Description; }
}
public override string Category
{
get { return "AutoCompletePolygon"; }
}
public override bool Checked
{
get { return false; }
}
public override bool Enabled
{
get
{
if (eedit.TargetLayer != null)
{
return true;
}
return false;
}
}
public override int HelpContextID
{
get { return 0; }
}
public override string HelpFile
{
get { return ""; }
}
public override string Message
{
get { return this.Description; }
}
public override string Name
{
get { return this.Description; }
}
public override void OnClick()
{
if (m_Cursor == null)
{
m_Cursor = ResourceLib.getInstance().GetCursorResource("Net.Resource.Select.PointSelect.cur");
}
this.Step = 0;
this.IsUsed = false;
this.LineFeedback = null;
}
public override string Tooltip
{
get { return this.Description; }
}
#endregion
#region ITool 成员
private System.Windows.Forms.Cursor m_Cursor = null;
public override int Cursor
{
get
{
if (m_Cursor != null)
{
return m_Cursor.Handle.ToInt32();
}
else