private void Settings_SettingChanged(object sender, SettingChangedArgs args) { if (args.SettingName == nameof(settings.HideTaskBarIcon)) { if (settings.HideTaskBarIcon == Settings.HideTaskBarIconValues.NEVER) { ShowInTaskbar = true; } else if (settings.HideTaskBarIcon == Settings.HideTaskBarIconValues.WHEN_MINIMIZED) { ShowInTaskbar = WindowState != FormWindowState.Minimized; } else if (settings.HideTaskBarIcon == Settings.HideTaskBarIconValues.ALWAYS) { ShowInTaskbar = false; } } else if (args.SettingName == nameof(settings.AlwaysOnTop)) { TopMost = settings.AlwaysOnTop; } else if (args.SettingName == nameof(settings.TrayIconBackground) || args.SettingName == nameof(settings.TrayIconForeground)) { dynamicIcons.Reset(); UpdateSystemTrayIcon(); } }
public void ResetClearsInternalCacheOfPreviouslyRenderedIcons() { using DynamicIcons icons = new DynamicIcons(); Icon unknownIcon1 = icons.GetIconForUnknown(FG, BG); Icon numberIcon1 = icons.GetIconForNumber(42, FG, BG); icons.Reset(); Icon unknownIcon2 = icons.GetIconForUnknown(FG, BG); Icon numberIcon2 = icons.GetIconForNumber(42, FG, BG); Assert.AreNotSame(unknownIcon1, unknownIcon2); Assert.AreNotSame(numberIcon1, numberIcon2); }