方法一:
IFeatureClass pFeatureclass = pFeatureLayer.FeatureClass;
IQueryFilter pQuery = new QueryFilterClass();
pQuery.WhereClause = "OBJECTID=" + aaa+ "";
IFeatureCursor cursor = pFeatureclass.Search(pQuery, true);
IFeature pFeature = cursor.NextFeature();
if (pFeature != null)
{
(M_hookHelper.Hook as IMapControlDefault).Map.SelectFeature((pFeatureLayer as ILayer), pFeature);
}
this.M_hookHelper.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, M_hookHelper.ActiveView.Extent);
方法二:
if (listSelectObjectID == null)
{
listSelectObjectID = new List<int>();
}
//清除选集
pSelectionSet.RemoveList(pSelectionSet.Count, ref listSelectObjectID.ToArray()[0]);
listSelectObjectID.Clear();
listSelectObjectID.Add(OID);
//先清除地图上所有选中要素,但目标图用来选中查询的图层选中图形不清除
pSelectionSet.AddList(listSelectObjectID.Count, ref listSelectObjectID.ToArray()[0]);
M_hookHelper.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, M_hookHelper.ActiveView.Extent);
this.M_hookHelper.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, M_hookHelper.ActiveView.Extent);