ArcEngine中IMap的选择集刷新问题

Posted llazy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArcEngine中IMap的选择集刷新问题相关的知识,希望对你有一定的参考价值。

1.问题描述

通过以下方式可以很便捷的往选择集内添加要素,但是却无法触发AxMapControl下的OnSelectionChanged事件。
public static void SelectFeatures(IFeatureLayer featureLayer, int[] OIDs)
{
    if (pFeatureLayer == null || OIDs == null)
    {
        return;
    }
    IFeatureSelection featureSelection = featureLayer as IFeatureSelection;
    if (featureSelection != null)
    {
        IGeoDatabaseBridge2 geoDatabaseBridge2 = new GeoDatabaseHelperClass();
        geoDatabaseBridge2.AddList(featureSelection.SelectionSet, ref OIDs);
    }
}

2.通过ISelectEvents接口解决

可以通过ISelectEvents接口来解决这个问题,该接口可由IMap接口QI。
ISelectionEvents selectEvents = map as ISelectionEvents;
if (selectEvents != null)
{
    selectEvents.SelectionChanged();
}

以上是关于ArcEngine中IMap的选择集刷新问题的主要内容,如果未能解决你的问题,请参考以下文章

arcEngine开发之IMapControl接口

在ArcEngine设置选中要素集的颜色为红色,不改符号;

arcEngine开发之IMapILayerIFeatureLayer和IFeatureClass关系

怎样在arcengine中创建一个要素数据集。建立一个要素数据集,数据集下面建四个要素,分别是线要素和面要素

Arcengine,C#获得FeatureClass的坐标系ISpatialReference以及所在数据集名称

求ArcEngine 选择属性表内字段,然后在地图高亮显示选择要素的C#代码