![]() |
This document is archived and information here might be outdated. Recommended version. |
| ArcObjects Help for .NET developers > ESRI.ArcGIS.Snippets > Snippets > Toggle Visibility Of Composite Layer Snippet (ArcObjects .NET 10.4 SDK) |
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