/// <summary> /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed. /// <example> /// userpreferencechangingeventhandler.BeginInvoke(sender, e, callback); /// </example> /// </summary> public static IAsyncResult BeginInvoke(this UserPreferenceChangingEventHandler userpreferencechangingeventhandler, Object sender, UserPreferenceChangingEventArgs e, AsyncCallback callback) { if (userpreferencechangingeventhandler == null) { throw new ArgumentNullException("userpreferencechangingeventhandler"); } return(userpreferencechangingeventhandler.BeginInvoke(sender, e, callback, null)); }
public void SignalsUserPreferenceEventsAsynchronouslyOnThemeChanged() { var changing = new AutoResetEvent(false); var changed = new AutoResetEvent(false); UserPreferenceChangingEventArgs changingArgs = null; UserPreferenceChangingEventHandler changingHandler = (o, e) => { changingArgs = e; changing.Set(); }; List <UserPreferenceChangedEventArgs> changedArgs = new List <UserPreferenceChangedEventArgs>(); UserPreferenceChangingEventArgs changingDuringChanged = null; UserPreferenceChangedEventHandler changedHandler = (o, e) => { changedArgs.Add(e); changingDuringChanged = changingArgs; // signal test to continue after two events were recieved if (changedArgs.Count > 1) { changed.Set(); } }; SystemEvents.UserPreferenceChanging += changingHandler; SystemEvents.UserPreferenceChanged += changedHandler; try { SendMessage(User32.WM_THEMECHANGED, 0, null); Assert.True(changing.WaitOne(PostMessageWait)); Assert.NotNull(changingArgs); Assert.Equal(UserPreferenceCategory.VisualStyle, changingArgs.Category); Assert.True(changed.WaitOne(PostMessageWait)); Assert.Equal(2, changedArgs.Count); Assert.NotNull(changedArgs[0]); Assert.Equal(UserPreferenceCategory.Window, changedArgs[0].Category); Assert.NotNull(changedArgs[1]); Assert.Equal(UserPreferenceCategory.VisualStyle, changedArgs[1].Category); // changed must follow changing for VisualStyle Assert.NotNull(changingDuringChanged); Assert.Equal(UserPreferenceCategory.VisualStyle, changingDuringChanged.Category); } finally { SystemEvents.UserPreferenceChanging -= changingHandler; SystemEvents.UserPreferenceChanged -= changedHandler; changing.Dispose(); changed.Dispose(); } }
public void SignalsUserPreferenceEventsSynchronouslyOnReflectedThemeChanged() { bool changing = false, changed = false; UserPreferenceChangingEventArgs changingArgs = null; UserPreferenceChangingEventHandler changingHandler = (o, e) => { changingArgs = e; changing = true; }; List <UserPreferenceChangedEventArgs> changedArgs = new List <UserPreferenceChangedEventArgs>(); UserPreferenceChangingEventArgs changingDuringChanged = null; UserPreferenceChangedEventHandler changedHandler = (o, e) => { changedArgs.Add(e); changingDuringChanged = changingArgs; changed = true; }; SystemEvents.UserPreferenceChanging += changingHandler; SystemEvents.UserPreferenceChanged += changedHandler; try { SendReflectedMessage(User32.WM_THEMECHANGED, 0, null); Assert.True(changing); Assert.NotNull(changingArgs); Assert.Equal(UserPreferenceCategory.VisualStyle, changingArgs.Category); Assert.True(changed); Assert.Equal(2, changedArgs.Count); Assert.NotNull(changedArgs[0]); Assert.Equal(UserPreferenceCategory.Window, changedArgs[0].Category); Assert.NotNull(changedArgs[1]); Assert.Equal(UserPreferenceCategory.VisualStyle, changedArgs[1].Category); // changed must follow changing for VisualStyle Assert.NotNull(changingDuringChanged); Assert.Equal(UserPreferenceCategory.VisualStyle, changingDuringChanged.Category); } finally { SystemEvents.UserPreferenceChanging -= changingHandler; SystemEvents.UserPreferenceChanged -= changedHandler; } }
public void SignalsUserPreferenceEventsAsynchronously(int message, int uiAction, string area, UserPreferenceCategory expectedCategory) { var changing = new AutoResetEvent(false); var changed = new AutoResetEvent(false); UserPreferenceChangingEventArgs changingArgs = null; UserPreferenceChangingEventHandler changingHandler = (o, e) => { changingArgs = e; changing.Set(); }; UserPreferenceChangedEventArgs changedArgs = null; UserPreferenceChangingEventArgs changingDuringChanged = null; UserPreferenceChangedEventHandler changedHandler = (o, e) => { changedArgs = e; changingDuringChanged = changingArgs; changed.Set(); }; SystemEvents.UserPreferenceChanging += changingHandler; SystemEvents.UserPreferenceChanged += changedHandler; try { SendMessage(message, uiAction, area); Assert.True(changing.WaitOne(PostMessageWait)); Assert.NotNull(changingArgs); Assert.Equal(expectedCategory, changingArgs.Category); Assert.True(changed.WaitOne(PostMessageWait)); Assert.NotNull(changedArgs); Assert.Equal(expectedCategory, changedArgs.Category); // changed must follow changing for the same category Assert.NotNull(changingDuringChanged); Assert.Equal(expectedCategory, changingDuringChanged.Category); } finally { SystemEvents.UserPreferenceChanging -= changingHandler; SystemEvents.UserPreferenceChanged -= changedHandler; changing.Dispose(); changed.Dispose(); } }
public void SignalsUserPreferenceEventsSynchronously(int message, int uiAction, string area, UserPreferenceCategory expectedCategory) { bool changing = false, changed = false; UserPreferenceChangingEventArgs changingArgs = null; UserPreferenceChangingEventHandler changingHandler = (o, e) => { changingArgs = e; changing = true; }; UserPreferenceChangedEventArgs changedArgs = null; UserPreferenceChangingEventArgs changingDuringChanged = null; UserPreferenceChangedEventHandler changedHandler = (o, e) => { changedArgs = e; changingDuringChanged = changingArgs; changed = true; }; SystemEvents.UserPreferenceChanging += changingHandler; SystemEvents.UserPreferenceChanged += changedHandler; try { SendReflectedMessage(message, uiAction, area); Assert.True(changing); Assert.NotNull(changingArgs); Assert.Equal(expectedCategory, changingArgs.Category); Assert.True(changed); Assert.NotNull(changedArgs); Assert.Equal(expectedCategory, changedArgs.Category); // changed must follow changing for the same category Assert.NotNull(changingDuringChanged); Assert.Equal(expectedCategory, changingDuringChanged.Category); } finally { SystemEvents.UserPreferenceChanging -= changingHandler; SystemEvents.UserPreferenceChanged -= changedHandler; } }
public static void add_UserPreferenceChanging(UserPreferenceChangingEventHandler value) { }
public static void add_UserPreferenceChanging (UserPreferenceChangingEventHandler value) { }