diff options
author | Nikita Voronchev <nikita.voronchev@ru.axxonsoft.com> | 2019-12-19 00:24:06 +0300 |
---|---|---|
committer | Alexander Köplinger <alex.koeplinger@outlook.com> | 2019-12-19 00:24:06 +0300 |
commit | 0beb9611dfc03c0486256205fc6ead3e876975e2 (patch) | |
tree | 644ca38952b33e25fc3917ce0332290b3b5d5381 /mcs/class/System.Windows.Forms | |
parent | a74416d950ae00c3cf5a6edb1b730039326c7ed0 (diff) |
[WinForms][UIA] Add new internal event to track form's owner change (#18117)
This PR is needed for https://github.com/mono/uia2atk/pull/8
Diffstat (limited to 'mcs/class/System.Windows.Forms')
-rw-r--r-- | mcs/class/System.Windows.Forms/System.Windows.Forms/Form.cs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/mcs/class/System.Windows.Forms/System.Windows.Forms/Form.cs b/mcs/class/System.Windows.Forms/System.Windows.Forms/Form.cs index 73dff86a6a7..7f032754f70 100644 --- a/mcs/class/System.Windows.Forms/System.Windows.Forms/Form.cs +++ b/mcs/class/System.Windows.Forms/System.Windows.Forms/Form.cs @@ -1099,6 +1099,8 @@ namespace System.Windows.Forms { XplatUI.SetOwner(this.window.Handle, IntPtr.Zero); } } + // UIA Framework: Raises internal event + OnUIAOwnerChanged (); } } } @@ -3202,6 +3204,7 @@ namespace System.Windows.Forms { static object UIAMenuChangedEvent = new object (); static object UIATopMostChangedEvent = new object (); static object UIAWindowStateChangedEvent = new object (); + static object UIAOwnerChangedEvent = new object (); internal event EventHandler UIAMenuChanged { add { Events.AddHandler (UIAMenuChangedEvent, value); } @@ -3218,6 +3221,11 @@ namespace System.Windows.Forms { remove { Events.RemoveHandler (UIAWindowStateChangedEvent, value); } } + internal event EventHandler UIAOwnerChanged { + add { Events.AddHandler (UIAOwnerChangedEvent, value); } + remove { Events.RemoveHandler (UIAOwnerChangedEvent, value); } + } + internal void OnUIAMenuChanged (EventArgs e) { EventHandler eh = (EventHandler) Events [UIAMenuChangedEvent]; @@ -3238,6 +3246,13 @@ namespace System.Windows.Forms { if (eh != null) eh (this, EventArgs.Empty); } + + internal void OnUIAOwnerChanged () + { + EventHandler eh = (EventHandler) Events [UIAOwnerChangedEvent]; + if (eh != null) + eh (this, EventArgs.Empty); + } #endregion // UIA Framework Events #endregion // Events } |