MoveRootElement Example for VB.NET

'LEADDICOM1 is a DICOM Dataset defined outside this method
Private Sub TestMoveRootElement()
   Dim nRet1 As Short
   Dim nRet2 As Short

   LEADDICOM1.EnableMethodErrors = True

On Error GoTo MOVEELEMENTERROR

   'move to first element in Data Set
   LEADDICOM1.MoveFirstElement(False)
   LEADDICOM1.FindTag(LEADDICOM1.CurrentElement.Tag)
   MessageBox.Show("Element: " & LEADDICOM1.CurrentTag.Name)

   'move to next element in the same level of the Data Set
   LEADDICOM1.MoveNextElement(True)
   LEADDICOM1.FindTag(LEADDICOM1.CurrentElement.Tag)
   MessageBox.Show("Element: " & LEADDICOM1.CurrentTag.Name)

   'move to last element in the same level of the Data Set
   LEADDICOM1.MoveLastElement(True)
   LEADDICOM1.FindTag(LEADDICOM1.CurrentElement.Tag)
   MessageBox.Show("Element: " & LEADDICOM1.CurrentTag.Name)

   'move to previous element in the same level of the Data Set
   LEADDICOM1.MovePrevElement(True)
   LEADDICOM1.FindTag(LEADDICOM1.CurrentElement.Tag)
   MessageBox.Show("Element: " & LEADDICOM1.CurrentTag.Name)

   'find the first element that has a child
   LEADDICOM1.EnableMethodErrors = False
   nRet1 = LEADDICOM1.MoveFirstElement(False)
   While nRet1 = 0
      nRet2 = LEADDICOM1.MoveChildElement
      If (nRet2 = 0) Then
         LEADDICOM1.FindTag(LEADDICOM1.CurrentElement.Tag)
         MessageBox.Show("Element: " & LEADDICOM1.CurrentTag.Name)
         nRet1 = 1
         'end
         loop
      End If
      If (nRet1 <> 1) Then
         'check next element in this same level
         nRet1 = LEADDICOM1.MoveNextElement(True)
      End If
   End While
   LEADDICOM1.EnableMethodErrors = True
   'move back to the element's parent
   If (nRet1 = 1) Then
      LEADDICOM1.MoveParentElement()
      LEADDICOM1.FindTag(LEADDICOM1.CurrentElement.Tag)
      MessageBox.Show("Element: " & LEADDICOM1.CurrentTag.Name)
   End If

Exit Sub

MOVEELEMENTERROR:
   MessageBox.Show("Error")

End Sub