Toggle the visibility on and off for a composite layer in the TOC of a map.
[C#]
/// <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();
}
[Visual Basic .NET]
''' <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