This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

AutomationInteropProvider.RaiseStructureChangedEvent أسلوب

Visual Studio 2010

تشغيل حدث عند UI Automationتغير شجرة.

مساحة الاسم:  System.Windows.Automation.Provider
التجميع:  UIAutomationProvider (في UIAutomationProvider.dll)

public static void RaiseStructureChangedEvent(
	IRawElementProviderSimple provider,
	StructureChangedEventArgs e
)

المعلمات

provider
النوع: System.Windows.Automation.Provider.IRawElementProviderSimple
عنصر مقترن بالحدث.
e
النوع: System.Windows.Automation.StructureChangedEventArgs
معلومات حول حدث.

هو مثال عن حدوث تغيير في بنية شجرة العناصر التابعة التي يتم إضافتها إلى أو تمت إزالته من صندوق القائمة، أو يتم توسيع أو طي في طريقة عرض شجرة.

عندما عنصر فرع هو تمت إزالته معرّف وقت التشغيل لأي عنصر أو حاوية بها، هو التي تم تمريرها إلى StructureChangedEventArgsالمنشئ. في الإصدار الحالى من UI Automation، على الرغم من ذلك، هناك هو لا توجد طريقة سهلة لمثيل موفر ل dهوcover معرّف وقت التشغيل الخاص به. GetRuntimeId الأسلوب عادة إرجاع صفيفة يحتوي على AppendRuntimeId، رقم السحري الذي يرشد UI Automationالنظام لإنشاء معرف فريد لكل مثيل من عنصر التحكم. القيمة الأولية الموفرة من قبل GetRuntimeIdيجب عدم استخدامها في الأحداث، لأن ذلك هو الغامضة للعملاء يمكن استخدامه لتعريف مثيل معين.

وبسبب هذا القيد، أحداث من نوع ChildAddedو ChildRemovedغير مفيدة جداً. كـ بدلاً من ذلك، دوماً استخدام ChildrenBulkAddedو ChildrenBulkRemoved، pكـsing 0 كـ معرف وقت التشغيل. لا يمكنك استخدام null، كـ سيتم رفع هذا على ‏‏ استثناء. سيتم إعلام العملاء بإجراء تغيير في الحاوية (المعرف بواسطة senderتمرير معلمة إلى StructureChangedEventHandler)، دون ملاحظة خاصة للأطفال التي تمت إضافتها أو تمت إزالته.

المثال التالي يوضح كيف يتم تنفيذ حدث عند تمت الإضافة الأطفال إلى أو إزالتها من صندوق قائمة مخصصة.


/// <summary>
/// Responds to an addition to the UI Automation tree structure by raising an event.
/// </summary>
/// <param name="list">
/// The list to which the item was added.
/// </param>
/// <remarks>
/// For the runtime Id of the item, pass 0 because the provider cannot know
/// what its actual runtime Id is.
/// </remarks>
public static void OnStructureChangeAdd(CustomListControl list)
{
    if (AutomationInteropProvider.ClientsAreListening)
    {
        int[] fakeRuntimeId = { 0 };
        StructureChangedEventArgs args =
            new StructureChangedEventArgs(StructureChangeType.ChildrenBulkAdded, 
            fakeRuntimeId);
        AutomationInteropProvider.RaiseStructureChangedEvent(
            (IRawElementProviderSimple)list.Provider, args);
    }
}

/// <summary>
/// Responds to a removal from the UI Automation tree structure 
/// by raising an event.
/// </summary>
/// <param name="list">
/// The list from which the item was removed.
/// </param>
/// <remarks>
/// For the runtime Id of the list, pass 0 because the provider cannot know
/// what its actual runtime ID is.
/// </remarks>
public static void OnStructureChangeRemove(CustomListControl list)
{
    if (AutomationInteropProvider.ClientsAreListening)
    {
        int[] fakeRuntimeId = { 0 };
        StructureChangedEventArgs args =
            new StructureChangedEventArgs(StructureChangeType.ChildrenBulkRemoved, 
            fakeRuntimeId);
        AutomationInteropProvider.RaiseStructureChangedEvent(
            (IRawElementProviderSimple)list.Provider, args);
    }
}


نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008, نظام التشغيل Windows Server 2003

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0

NET Framework. Client Profile

مدعوم في: 4
إظهار: