Jak: kontrola Solution Explorer
Solution Explorer jest okno Narzędzie w Visual Studio zintegrowanego środowiska programistycznego (IDE), który wyświetla zawartość roztworu zawiera rozwiązanie projekty i elementy każdego projektu.Podobnie jak inne okna narzędzia w Visual Studio, można kontrolować jej parametry fizyczne, takie jak rozmiar, położenie, i czy jest zadokowany czy przestawnego.Aby uzyskać informacje dotyczące manipulowania tego okna narzędzia jak również inne Visual Studio narzędzie systemu windows, zobacz Jak: Zmienianie właściwości okna.
Solution Explorer nie ma swój własny automatyzacji obiekty jako takie, ale zawartość swojej hierarchii w pewnym stopniu można sterować za pomocą UIHierarchy.Aby kontrolować, projekty i elementy projektów w roztworze, użyj automatyzacji modelu projektu.Aby uzyskać więcej informacji, zobacz Kontrolowanie projektów i rozwiązania.
[!UWAGA]
Okien dialogowych i poleceń menu, którą widzisz mogą różnić się od tych opisanych w pomocy, w zależności od tego, aktywne ustawienia lub edition.Procedury te zostały opracowane z ogólnych ustawień rozwoju aktywnych.Aby zmienić ustawienia, wybierz polecenie przywóz i wywózUstawienia na Narzędzia menu.Aby uzyskać więcej informacji, zobacz Visual Studio, ustawienia.
Aby kontrolować Solution Explorer przy użyciu UIHierarchy
Jeśli Solution Explorer nie jest już widoczny, kliknij przycisk Solution Explorer na widoku menu.
Otwórz projekt, który ma dużą liczbę elementów, takich jak projektu Dodaj.
W Solution Explorer, kliknij węzeł, który ma co najmniej dwóch węzłów podrzędnych.
Uruchom poniższy kod.
Przykład
Ten przykład demonstruje, jak manipulować Solution Explorer za pomocą UIHierarchy.
Imports System.Text
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE100Public Sub OnConnection(ByVal application As Object, ByVal _
connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
_applicationObject = CType(application, DTE2)
_addInInstance = CType(addInInst, AddIn)
' Pass the applicationObject member variable to the code example.
slnExplUIHierarchyExample(_applicationObject)
End Sub
Sub slnExplUIHierarchyExample(ByVal dte As DTE2)
Dim UIH As UIHierarchy = dte.ToolWindows.SolutionExplorer
' Requires a reference to System.Text.
' Set a reference to the first level nodes in Solution Explorer.
' Automation collections are one-based.
Dim UIHItem As UIHierarchyItem = UIH.UIHierarchyItems.Item(1)
Dim file As UIHierarchyItem
Dim sb As New StringBuilder
' Iterate through first level nodes.
For Each file In UIHItem.UIHierarchyItems
sb.AppendLine(file.Name)
' Iterate through second level nodes (if they exist).
Dim subitem As UIHierarchyItem
For Each subitem In file.UIHierarchyItems
sb.AppendLine(" " & subitem.Name)
' Iterate through third level nodes (if they exist).
Dim subSubItem As UIHierarchyItem
For Each subSubItem In subitem.UIHierarchyItems
sb.AppendLine(" " & subSubItem.Name)
Next
Next
Next
MsgBox(sb.ToString)
End Sub
using System.Text;
using EnvDTE;
using EnvDTE80;
using EnvDTE90;
using EnvDTE100;public void OnConnection(object application, ext_ConnectMode
connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
// Pass the applicationObject member variable to the code example.
slnExplUIHierarchyExample(_applicationObject);
}
public void slnExplUIHierarchyExample(DTE2 dte)
{
UIHierarchy UIH = dte.ToolWindows.SolutionExplorer;
// Requires a reference to System.Text.
// Set a reference to the first level nodes in Solution Explorer.
// Automation collections are one-based.
UIHierarchyItem UIHItem = UIH.UIHierarchyItems.Item(1);
StringBuilder sb = new StringBuilder();
// Iterate through first level nodes.
foreach ( UIHierarchyItem fid in UIHItem.UIHierarchyItems )
{
sb.AppendLine(fid.Name);
// Iterate through second level nodes (if they exist).
foreach ( UIHierarchyItem subitem in fid.UIHierarchyItems )
{
sb.AppendLine(" "+subitem.Name);
// Iterate through third level nodes (if they exist).
foreach ( UIHierarchyItem subSubItem in
subitem.UIHierarchyItems )
{
sb.AppendLine(" "+subSubItem.Name);
}
}
}
System.Windows.Forms.MessageBox.Show(sb.ToString());
}
Zobacz też
Zadania
Instruktaż: Tworzenie kreatora
Koncepcje
Wprowadzenie do obiektu VSProject2
Wykres modelu obiektu automatyzacji
Inne zasoby
Tworzenia i kontrolowania środowisku systemu Windows.