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

NameDescription
System_CAPS_pubpropertyCount

Gets a value indicating the number of objects in the SelectedItems collection.

System_CAPS_pubpropertyDTE

Gets the top-level extensibility object.

System_CAPS_pubpropertyMultiSelect

Gets whether or not the current selection includes multiple items.

System_CAPS_pubpropertyParent

Gets the immediate parent object of a SelectedItems collection.

System_CAPS_pubpropertySelectionContainer

Gets a SelectionContainer object that represents the designer hosting the selected item(s).

NameDescription
System_CAPS_pubmethodGetEnumerator()

Gets an enumeration for items in a collection.

System_CAPS_pubmethodItem(Object)

Returns a SelectedItem object in the SelectedItems collection.

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
      Else
         If TypeOf SelItem.ProjectItem Is ProjectItem Then
             NameStr = NameStr & SelItem.ProjectItem.FileNames(1) & vbCrLf
         End If
      End If
   Next
   MsgBox("You selected: " & NameStr)
End Sub
Return to top
Show: