مشاركة عبر


UIHierarchy الواجهة

يمثل إطارات الأدوات القياسية في بيئة التطوير المتكاملة (IDE) التي تستخدم الأشجار الهرمية للبيانات، مثل مستكشف الحل مستعرض الخادمو Explorer ماكرو .

مساحة الاسم:  EnvDTE
التجميع:  EnvDTE (في EnvDTE.dll)

بناء الجملة

'إقرار
<GuidAttribute("72A2A2EF-C209-408C-A377-76871774ADB7")> _
Public Interface UIHierarchy
[GuidAttribute("72A2A2EF-C209-408C-A377-76871774ADB7")]
public interface UIHierarchy
[GuidAttribute(L"72A2A2EF-C209-408C-A377-76871774ADB7")]
public interface class UIHierarchy
[<GuidAttribute("72A2A2EF-C209-408C-A377-76871774ADB7")>]
type UIHierarchy =  interface end
public interface UIHierarchy

ملاحظات

UIHierarchyيوفر كائن طراز كائن شائع لإطارات الأدوات القياسية التي تعرض بيانات الهرمية في عرض الشجرة. يمكنك تحديد عناصر بغض النظر عن ما إذا كانت الولاية توسيع شجرة وحدة التحكم إظهار العنصر. يؤدي تحديد أحد العناصر التي هو لا يظهر في أسباب توسيع الشجرة الحالي الشجرة لتوسيع لعرض العنصر.

الحصول تشغيل هذا كائن باستخدام Window.Objectفي أي نافذة الأدوات القياسية في عرض الشجري.

لأن UIHierarchyكائن يمثل أي نافذة نوع طريقة العرض الشجري، فإنه هو الكائن نافذة. به UIHierarchyItemsخاصية بإرجاع مجموعة عقد ذات المستوى الأعلى في الفرعي نافذة. في مستكشف الحل ، هناك هو عقدة واحدة ذات المستوى أعلى فقط، الحل. في مستكشف ماكرو ، هناك هو واحد أيضا عقدة الالمستوى العلوي، العقدة وحدات الماكرو. وهذا يعني أن مشروع عقدة s غير موجودة في الإطار إلى UIHierarchyItemsمجموعة، إنما في مجموعة عقدة's ذات المستوى الأعلى.

bearing ذلك في الاعتبار، توجد طريقتان إلى الوصول إلى عقدة معينة ( UIHierarchyItem):

  • استخدام GetItemأسلوب إلى المرجع مباشرة العقدة المطلوبة.

  • استخدم UIHierarchyItems.Item.UIHierarchyItems...(a مجموعة/العنصر/مجموعة... نقش).

    للتنقل بين أعمق إلى تداخل عقدة، الاستمرار في استخدام هذا النمط. ل مثال، للانتقال إلى العقدة ثانية تحت عقدة المستوى الأعلى، استخدم UIHierarchy.UIHierarchyItems.Item(1).UIHierarchyItems.Item(2).

فيما يلي أمثلة على كيفية إلى تستخدم كلا من التقنيات إلى الوصول إلى عقدة ذات المستوى المنخفض.

أمثلة

وهذا مثال يستخدم GetItemاستراتيجية أسلوب الوصول إلى عقدة في UIHierarchy.

Sub UIHierarchyExample1()
   'Reference the UIHierarchy, UIHierarchyItem, and OutputWindow objects.
   Dim UIH As UIHierarchy = _
     DTE.Windows.Item(Constants.vsWindowKindMacroExplorer).Object
   Dim samples As UIHierarchyItem = UIH.GetItem("Macros\Samples")
   Dim OWPane As OutputWindowPane = GetOutputWindowPane("List Macros")
   Dim file As UIHierarchyItem

   OWPane.Clear()
   For Each file In samples.UIHierarchyItems
      OWPane.OutputString(file.Name & _
        Microsoft.VisualBasic.Constants.vbCrLf)
      Dim macro As UIHierarchyItem
      For Each macro In file.UIHierarchyItems
         OWPane.OutputString("   " & macro.Name & _
           Microsoft.VisualBasic.Constants.vbCrLf)
      Next
   Next
End Sub

Function GetOutputWindowPane(ByVal Name As String, Optional ByVal show _
  As Boolean = True) As OutputWindowPane
   Dim win As Window = _
     DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput)
   If show Then win.Visible = True
   Dim ow As OutputWindow = win.Object
   Dim owpane As OutputWindowPane
   Try
      owpane = ow.OutputWindowPanes.Item(Name)
   Catch e As System.Exception
      owpane = ow.OutputWindowPanes.Add(Name)
   End Try
   owpane.Activate()
   Return owpane
End Function

يستخدم هذا المثال UIHierarchyItems.Item.UIHierarchyItemsاستراتيجية للوصول إلى عقدة في UIHierarchy.

Sub UIHierarchyExample2()
   Dim UIH As UIHierarchy = _
     DTE.Windows.Item(Constants.vsWindowKindMacroExplorer).Object
     ' Set a reference to the "Samples" node in Macro Explorer. The 
     ' collections are one-based.
     Dim UIHItem As UIHierarchyItem = _
     UIH.UIHierarchyItems.Item(1).UIHierarchyItems.Item(2)
   Dim file As UIHierarchyItem
   Dim OWPane As OutputWindowPane = GetOutputWindowPane("List Macros")
   For Each file In UIHItem.UIHierarchyItems
      OWPane.OutputString(file.Name & _
        Microsoft.VisualBasic.Constants.vbCrLf)
      Dim macro As UIHierarchyItem
      For Each macro In file.UIHierarchyItems
         OWPane.OutputString("   " & macro.Name & _
           Microsoft.VisualBasic.Constants.vbCrLf)
      Next
   Next
End Sub

راجع أيضًَا

المرجع

UIHierarchy الأعضاء

EnvDTE مساحة الاسم

موارد أخرى

كيفية: التعامل مع طرق عرض الشجرة باستخدام UIHierarchy