StructureChangedEventArgs(StructureChangeType, Int32[]) Constructor

Definitie

Initialiseert een nieuw exemplaar van de StructureChangeType klasse, waarbij het type wijziging en de id (ID) van het element waarvan de structuur is gewijzigd, wordt opgegeven.

public:
 StructureChangedEventArgs(System::Windows::Automation::StructureChangeType structureChangeType, cli::array <int> ^ runtimeId);
public StructureChangedEventArgs(System.Windows.Automation.StructureChangeType structureChangeType, int[] runtimeId);
new System.Windows.Automation.StructureChangedEventArgs : System.Windows.Automation.StructureChangeType * int[] -> System.Windows.Automation.StructureChangedEventArgs
Public Sub New (structureChangeType As StructureChangeType, runtimeId As Integer())

Parameters

structureChangeType
StructureChangeType

Eén waarde die het type wijziging aangeeft.

runtimeId
Int32[]

De runtime-id (ID) van het UI Automation-element waarvan de structuur is gewijzigd.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een gebeurtenis maakt en genereert wanneer onderliggende items worden toegevoegd aan of verwijderd uit een aangepaste keuzelijst.

/// <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);
    }
}
''' <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 Shared Sub OnStructureChangeAdd(ByVal list As CustomListControl)
    If AutomationInteropProvider.ClientsAreListening Then
        Dim fakeRuntimeId(1) As Integer
        fakeRuntimeId(0) = 0
        Dim args As New StructureChangedEventArgs( _
            StructureChangeType.ChildrenBulkAdded, fakeRuntimeId)
        AutomationInteropProvider.RaiseStructureChangedEvent( _
            CType(list.Provider, IRawElementProviderSimple), args)
    End If

End Sub


''' <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 Shared Sub OnStructureChangeRemove(ByVal list As CustomListControl)
    If AutomationInteropProvider.ClientsAreListening Then
        Dim fakeRuntimeId(1) As Integer
        fakeRuntimeId(0) = 0
        Dim args As New StructureChangedEventArgs( _
            StructureChangeType.ChildrenBulkRemoved, fakeRuntimeId)
        AutomationInteropProvider.RaiseStructureChangedEvent( _
            CType(list.Provider, IRawElementProviderSimple), args)
    End If

End Sub

Opmerkingen

De waarden die kunnen worden geretourneerd in structureChangeType zijn afhankelijk van de implementatie van de UI Automation-provider. Wanneer items bijvoorbeeld worden toegevoegd aan of verwijderd uit een Win32-keuzelijst, als de provider niet in staat is om het aantal toegevoegde of verwijderde items te bepalen, kan dit opgeven ChildrenInvalidated en nietChildAdded.ChildRemoved

In de volgende tabel worden de gegevens beschreven in de gebeurtenis die door de StructureChangedEventHandler verschillende structuurwijzigingen is ontvangen.

structureChangeType Gebeurtenisbron runtimeId
ChildAdded Het kind dat is toegevoegd. Het kind dat is toegevoegd.
ChildRemoved Het bovenliggende item dat is verwijderd. Het kind dat is verwijderd.
ChildrenBulkAdded De bovenliggende van de onderliggende items die zijn toegevoegd. De bovenliggende van de onderliggende items die zijn toegevoegd.
ChildrenBulkRemoved Het bovenliggende item van de onderliggende items die zijn verwijderd. Het bovenliggende item van de onderliggende items die zijn verwijderd.
ChildrenInvalidated De bovenliggende van de kinderen die ongeldig zijn geworden. Het bovenliggende item van de onderliggende items die ongeldig zijn

Aangepaste besturingselementen kunnen mogelijk geen zinvolle waarde opgeven in runtimeId. Zie RaiseStructureChangedEvent voor meer informatie.

Van toepassing op

Zie ook