İ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.