AnsweredAssumed Answered

arc obejcts  - string builder

Question asked by sig102014 on Aug 2, 2015
Latest reply on Aug 4, 2015 by sig102014

Hello,

 

I'm newbie in vb.net and have question about string builder to show the arcgis layers. (System: ArcGis 10.2, VisualStudio2012) I don't succeed to show the loaded layers in a line of the message box.

 

Thanks for any help in advance!

 

code:

 

Imports ESRI.ArcGIS.Geodatabase
Imports ESRI.ArcGIS.Carto
Imports ESRI.ArcGIS.ArcMapUI
Imports System.Text

Public Class LayerLoop2_Button1
 
Inherits ESRI.ArcGIS.Desktop.AddIns.Button

 
Public Sub New()

 
End Sub

 
Protected Overrides Sub OnClick()

  
AccessLayerViaMxDocument(My.ArcMap.Document)
  
My.ArcMap.Application.CurrentTool = Nothing
  
End Sub

  
Shared Sub AccessLayerViaMxDocument(ByVal pMxDocument As IMxDocument)
  
Dim pMap As IMap
  
Dim pMaps As IMaps = pMxDocument.Maps
  
Dim i As Integer

  
For i = 0 To pMaps.Count - 1 Step i + 1
  pMap
= pMaps.Item(i)
  
Debug.WriteLine(pMap.Name)
  
MsgBox(pMap.Name)

  
Dim pEnumLayer As IEnumLayer = pMap.Layers(Nothing, True)
  pEnumLayer
.Reset()
  
Dim pLayer As ILayer = pEnumLayer.Next()
  
Dim sb As System.Text.StringBuilder = New System.Text.StringBuilder()


  
While Not pLayer Is Nothing

  
Debug.WriteLine(pLayer.Name)
  
' Show MessageBox with the name of the layer


  pLayer = pEnumLayer.Next()

  sb.Append(pLayer.Name)
  MsgBox(sb.ToString())

  End While

Outcomes