Share via


İstemciler İçin UI Otomasyon Olayları

Not

Bu belgeler, ad alanında tanımlanan yönetilen UI Otomasyonu sınıflarını kullanmak isteyen .NET Framework geliştiricilerine System.Windows.Automation yöneliktir. UI Otomasyonu hakkında en son bilgiler için bkz. Windows Otomasyonu API'si: UI Otomasyonu.

Bu konuda, microsoft UI Otomasyonu olaylarının UI Otomasyonu istemcileri tarafından nasıl kullanıldığı açıklanmaktadır.

UI Otomasyonu istemcilerin ilgilendiği olaylara abone olmasını sağlar. Bu özellik herhangi bir bilgi, yapı veya durumun değişip değişmediğini görmek için sistemdeki tüm kullanıcı arabirimi öğelerini sürekli yoklama gereksinimini ortadan kaldırarak performansı artırır.

Verimlilik, yalnızca tanımlı bir kapsamdaki olayları dinleyebilme özelliğiyle de iyileştirilir. Örneğin, bir istemci ağaçtaki tüm UI Otomasyonu öğelerinde veya yalnızca bir öğede ve alt öğelerinde odak değişikliği olaylarını dinleyebilir.

Not

Tüm olası olayların bir Microsoft UI Otomasyonu sağlayıcısı tarafından tetiklendiğini varsaymayın. Örneğin, tüm özellik değişiklikleri olayların Windows Forms ve Win32 denetimleri için standart ara sunucu sağlayıcıları tarafından tetiklenmelerine neden olmaz.

UI Otomasyonu olayların daha geniş bir görünümü için bkz. UI Otomasyonu Olaylara Genel Bakış.

Olaylara Abone Olma

İstemci uygulamaları, aşağıdaki yöntemlerden birini kullanarak bir olay işleyicisi kaydederek belirli bir türdeki olaylara abone olur.

Metot Olay Türü Olay Bağımsız Değişkenleri Türü Temsilci Türü
AddAutomationFocusChangedEventHandler Odak değişikliği AutomationFocusChangedEventArgs AutomationFocusChangedEventHandler
AddAutomationPropertyChangedEventHandler Özellik değişikliği AutomationPropertyChangedEventArgs AutomationPropertyChangedEventHandler
AddStructureChangedEventHandler Yapı değişikliği StructureChangedEventArgs StructureChangedEventHandler
AddAutomationEventHandler Tarafından tanımlanan diğer tüm olaylar AutomationEvent AutomationEventArgs veya WindowClosedEventArgs AutomationEventHandler

yöntemini çağırmadan önce, olayı işlemek için bir temsilci yöntemi oluşturmanız gerekir. İsterseniz, farklı olay türlerini tek bir yöntemde işleyebilir ve bu yöntemi tablodaki yöntemlerden birine birden çok çağrıda geçirebilirsiniz. Örneğin, tek AutomationEventHandler bir tane, çeşitli olayları değerine göre farklı şekilde işleyecek şekilde EventIdayarlanabilir.

Not

Pencere kapalı olayları işlemek için, olay işleyicisine geçirilen bağımsız değişken türünü olarak WindowClosedEventArgsyayınlayın. Pencerenin Microsoft UI Otomasyonu öğesi artık geçerli olmadığından, bilgileri almak için parametresini sender kullanamazsınız; bunun yerine kullanınGetRuntimeId.

Dikkat

Uygulamanız kendi kullanıcı arabiriminden olaylar alıyorsa, olaylara abone olmak veya aboneliği kaldırmak için uygulamanızın kullanıcı arabirimi iş parçacığını kullanmayın. Bunu yapmak öngörülemeyen davranışlara yol açabilir. Daha fazla bilgi için bkz. UI Otomasyonu İş Parçacığı Sorunları.

Kapatma sırasında veya UI Otomasyonu olayları artık uygulamayı ilgilendirmediğinde, UI Otomasyonu istemcileri aşağıdaki yöntemlerden birini çağırmalıdır.

Metot Açıklama
RemoveAutomationEventHandler kullanılarak AddAutomationEventHandlerkaydedilen bir olay işleyicinin kaydını kaldırır.
RemoveAutomationFocusChangedEventHandler kullanılarak AddAutomationFocusChangedEventHandlerkaydedilen bir olay işleyicinin kaydını kaldırır.
RemoveAutomationPropertyChangedEventHandler kullanılarak AddAutomationPropertyChangedEventHandlerkaydedilen bir olay işleyicinin kaydını kaldırır.
RemoveAllEventHandlers Tüm kayıtlı olay işleyicilerinin kaydını kaldırır.

Örneğin kod, bkz. UI Otomasyonu Olaylara abone olma.

Ayrıca bkz.