This documentation is archived and is not being maintained.

SelectedItems Interface

Contains SelectedItem objects, which represent selected projects or project items.

Namespace: EnvDTE
Assembly: EnvDTE (in envdte.dll)

<GuidAttribute("6CAA67CF-43AE-4184-AAAB-0200DDF6B240")> _
Public Interface SelectedItems
	Inherits IEnumerable
Dim instance As SelectedItems

/** @attribute GuidAttribute("6CAA67CF-43AE-4184-AAAB-0200DDF6B240") */ 
public interface SelectedItems extends IEnumerable
public interface SelectedItems extends IEnumerable

There is always a SelectedItems collection, even when there are no project items. For example, if Solution Explorer has focus and a project node is selected, then there is one SelectedItem object. The selected item's Project property refers to the selected project, and its ProjectItem property is Null.

Sub SelectedItemsExample()
   Dim SelItems As SelectedItems
   Dim SelItemObj As SelectedItem
   Dim SelContain As SelectionContainer
   Dim SelItem As SelectedItem
   Dim NameStr As String

   SelItems = DTE.SelectedItems
   ' List the number of items selected.
   If SelItems.MultiSelect = True Then
      MsgBox("You have " & SelItems.Count & " items selected in Solution Explorer.")
   End If

   ' Set a reference to the first selected item.
   SelItemObj = SelItems.Item(1)
   ' List the names of the project or project items under the selected 
   ' item.
   For Each SelItem In SelItemObj.Collection
      NameStr = NameStr & SelItem.Name
      If TypeOf SelItem.Project Is Project Then
         NameStr = NameStr & " Project-" & SelItem.Project.Name & vbCrLf
         If TypeOf SelItem.ProjectItem Is ProjectItem Then
             NameStr = NameStr & SelItem.ProjectItem.FileNames(1) & vbCrLf
         End If
      End If
   MsgBox("You selected: " & NameStr)
End Sub