Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Bu belgeler, System.Windows.Automation ad alanında tanımlanan yönetilen UI Otomasyonu sınıflarını kullanmak isteyen .NET Framework geliştiricilerine yöneliktir. UI Otomasyonu hakkında en son bilgiler için bkz. Windows Otomasyonu API'si: UI Otomasyonu.
Bu konu başlığında, Microsoft UI Automation olaylarının UI Automation 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.
Uyarı
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ın daha geniş bir görünümü için bkz. UI Otomasyonu Olaylarına 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.
| Yöntem | Olay Türü | Olay Argümanları 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 bir AutomationEvent ile tanımlanan diğer tüm olaylar | 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 bir AutomationEventHandler, EventId'e göre çeşitli olayları farklı şekilde işleyecek şekilde ayarlanabilir.
Uyarı
Pencere kapalı olaylarını işlemek için, olay işleyicisine geçirilen bağımsız değişken türünü WindowClosedEventArgs olarak dönüştürün. Pencerenin Microsoft UI Otomasyonu öğesi artık geçerli olmadığından, bilgileri almak için parametresini sender kullanamazsınız; bunun yerine kullanın GetRuntimeId .
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 İletişim Dizilimi 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.
| Yöntem | 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 Olaylarına Abone Olma.