StructureChangedEventArgs(StructureChangeType, Int32[]) Constructeur

Définition

Initialise une nouvelle instance de la StructureChangeType classe, en spécifiant le type de modification et l’identificateur (ID) de l’élément dont la structure a changé.

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())

Paramètres

structureChangeType
StructureChangeType

Valeur unique qui spécifie le type de modification.

runtimeId
Int32[]

Identificateur du runtime (ID) de l’élément UI Automation dont la structure a changé.

Exemples

L’exemple suivant montre comment construire et déclencher un événement lorsque les enfants sont ajoutés ou supprimés d’une zone de liste personnalisée.

/// <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

Remarques

Les valeurs qui peuvent être retournées structureChangeType dépendent de l’implémentation du fournisseur UI Automation. Par exemple, lorsque des éléments sont ajoutés ou supprimés d’une zone de liste Win32, si le fournisseur n’est pas en mesure de déterminer le nombre d’éléments ajoutés ou supprimés, il peut spécifier ChildrenInvalidated et non ChildAdded ou non.ChildRemoved

Le tableau suivant décrit les informations contenues dans l’événement reçu par les StructureChangedEventHandler différentes modifications de structure.

structureChangeType Source d’événement runtimeId
ChildAdded Enfant qui a été ajouté. Enfant qui a été ajouté.
ChildRemoved Parent de l’enfant qui a été supprimé. Enfant qui a été supprimé.
ChildrenBulkAdded Parent des enfants qui ont été ajoutés. Parent des enfants qui ont été ajoutés.
ChildrenBulkRemoved Parent des enfants qui ont été supprimés. Parent des enfants qui ont été supprimés.
ChildrenInvalidated Parent des enfants qui ont été invalidés. Parent des enfants qui ont été invalidés

Les contrôles personnalisés peuvent ne pas être en mesure de fournir une valeur significative dans runtimeId. Pour plus d'informations, consultez RaiseStructureChangedEvent.

S’applique à

Voir aussi