获取图层上选中的要数
IFeatureLayer pFeatureLayer = (CustomProperty as IFeatureLayer);
ISelectionSet pSelectionSet = (pFeatureLayer as IFeatureSelection).SelectionSet;
if (pSelectionSet == null)
{
return;
}
if (pSelectionSet.Count > 10000)
{
M_hookHelper.FocusMap.ClearSelection();
}
if (pSelectionSet.Count > 0 || oids.Count > 0)
{
List<int> listRemoveObjectID = new List<int>();
IEnumIDs enumIDs = pSelectionSet.IDs;
enumIDs.Reset();
int objectid = 0;
while ((objectid = enumIDs.Next()) >= 0)
{
if (oids.Contains(objectid))
{
oids.Remove(objectid);
continue;
}
listRemoveObjectID.Add(objectid);
}
if (listRemoveObjectID.Count > 0)
{
pSelectionSet.RemoveList(listRemoveObjectID.Count, ref listRemoveObjectID.ToArray()[0]);
}
}
if (oids.Count > 0)
{
pSelectionSet.AddList(oids.Count, ref oids.ToArray()[0]);
//IsShowSelectData = true;
}
M_hookHelper.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, M_hookHelper.ActiveView.Extent);