StructureChangedEventArgs(StructureChangeType, Int32[]) Konstruktor
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje StructureChangeType nowe wystąpienie klasy, określając typ zmiany i identyfikator (ID) elementu, którego struktura uległa zmianie.
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())
Parametry
- structureChangeType
- StructureChangeType
Pojedyncza wartość określająca typ zmiany.
- runtimeId
- Int32[]
Identyfikator środowiska uruchomieniowego (ID) elementu automatyzacja interfejsu użytkownika, którego struktura uległa zmianie.
Przykłady
W poniższym przykładzie pokazano, jak utworzyć i zgłosić zdarzenie, gdy elementy podrzędne zostaną dodane do pola listy niestandardowej lub usunięte z niego.
/// <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
Uwagi
Wartości, które można zwrócić, structureChangeType
zależą od implementacji dostawcy automatyzacja interfejsu użytkownika. Jeśli na przykład elementy są dodawane do lub usuwane z pola listy Win32, jeśli dostawca nie może określić liczby elementów dodanych lub usuniętych, może określić ChildrenInvalidated , a nie ChildAdded lub ChildRemoved.
W poniższej tabeli opisano informacje o zdarzeniu odebrane przez StructureChangedEventHandler program dla różnych zmian struktury.
structureChangeType |
Źródło zdarzeń | runtimeId |
---|---|---|
ChildAdded | Element podrzędny, który został dodany. | Element podrzędny, który został dodany. |
ChildRemoved | Element nadrzędny usuniętego elementu podrzędnego. | Element podrzędny, który został usunięty. |
ChildrenBulkAdded | Rodzic dodanych dzieci. | Rodzic dodanych dzieci. |
ChildrenBulkRemoved | Rodzic elementów podrzędnych, które zostały usunięte. | Rodzic elementów podrzędnych, które zostały usunięte. |
ChildrenInvalidated | Rodzic dzieci, które zostały unieważnione. | Rodzic dzieci, które zostały unieważnione |
Kontrolki niestandardowe mogą nie być w stanie podać znaczącej wartości w pliku runtimeId
. Aby uzyskać więcej informacji, zobacz RaiseStructureChangedEvent.