This document is archived and information here might be outdated. Recommended version. |
Toggle the visibility on and off for a composite layer in the TOC of a map.
/// <summary> /// Toggle the visibility on and off for a composite layer in the TOC of a map. /// </summary> /// <param name="activeView">An IActiveView interface.</param> /// <param name="layerIndex">A Int32 that is the index number of the composite layer in the TOC. Example: 0.</param> /// <remarks>This snippet is useful for toggling the visibility of composite layers. An example of a composite layer is feature linked annotation.</remarks> public void ToggleVisibleOfCompositeLayer(ESRI.ArcGIS.Carto.IActiveView activeView, System.Int32 layerIndex) { ESRI.ArcGIS.Carto.IMap map=activeView.FocusMap; ESRI.ArcGIS.Carto.ILayer layer=map.get_Layer(layerIndex); ESRI.ArcGIS.Carto.ICompositeLayer2 compositeLayer2=(ESRI.ArcGIS.Carto.ICompositeLayer2)layer; System.Int32 compositeLayerIndex=0; if (layer.Visible) { //Turn the layer visibility off layer.Visible=false; //Turn each sub-layer (ie. composite layer) visibility off for (compositeLayerIndex=0; compositeLayerIndex < compositeLayer2.Count; compositeLayerIndex++) { compositeLayer2.get_Layer(compositeLayerIndex).Visible=false; } } else { //Turn the layer visibility on layer.Visible=true; //Turn each sub-layer (ie. composite layer) visibility on for (compositeLayerIndex=0; compositeLayerIndex < compositeLayer2.Count; compositeLayerIndex++) { compositeLayer2.get_Layer(compositeLayerIndex).Visible=true; } } //Refresh the TOC and the map window activeView.ContentsChanged(); }
''' <summary> ''' Toggle the visibility on and off for a composite layer in the TOC of map. ''' </summary> ''' <param name="activeView">An IActiveView interface.</param> ''' <param name="layerIndex">A Int32 that is the index number of the composite layer in the TOC. Example: 0.</param> ''' <remarks>This snippet is useful for toggling the visibility of composite layers. An example of a composite layer is feature linked annotation.</remarks> Public Sub ToggleVisibilityOfCompositeLayer(ByVal activeView As ESRI.ArcGIS.Carto.IActiveView, ByVal layerIndex As System.Int32) Dim map As ESRI.ArcGIS.Carto.IMap=activeView.FocusMap Dim layer As ESRI.ArcGIS.Carto.ILayer=map.Layer(layerIndex) Dim compositeLayer2 As ESRI.ArcGIS.Carto.ICompositeLayer2=CType(layer, ESRI.ArcGIS.Carto.ICompositeLayer2) Dim compositeLayerIndex As System.Int32=0 If layer.Visible Then 'Turn the layer visibility off layer.Visible=False 'Turn each sub-layer (ie. composite layer) visibility off For compositeLayerIndex=0 To compositeLayer2.Count - 1 compositeLayer2.Layer(compositeLayerIndex).Visible=False Next Else 'Turn the layer visibility on layer.Visible=True 'Turn each sub-layer (ie. composite layer) visibility on For compositeLayerIndex=0 To compositeLayer2.Count - 1 compositeLayer2.Layer(compositeLayerIndex).Visible=True Next End If 'Refresh the TOC and the map window activeView.ContentsChanged() End Sub