public void FadeOut() { if (FadeStatus == FadeStatuses.Visible || FadeStatus == FadeStatuses.FadingIn) { FadeStatus = FadeStatuses.FadingOut; this.Visible = true; Timer T = new Timer(); T.Tick += FadeOutHandler; T.Interval = 40; // bit more than 30 Hz T.Start(); } }
public KeystrokesDisplay(IKeystrokeEventProvider k, SettingsStore s) { InitializeComponent(); this.k = k; this.k.KeystrokeEvent += k_KeystrokeEvent; this.settings = s; this.settings.settingChanged += settingChanged; this.settings.OnSettingChangedAll(); this.TopMost = true; this.FormClosing += Form1_FormClosing; addWelcomeInfo(); NativeMethodsSWP.SetWindowTopMost(this.Handle); ActivateDisplayOnlyMode(true); if (settings.EnableWindowFade) { Opacity = 0; FadeStatus = FadeStatuses.Hidden; } else { Opacity = 1; FadeStatus = FadeStatuses.Visible; } settings.settingChanged += (SettingsChangedEventArgs e) => { if (settings.EnableWindowFade && tweenLabels.Count == 0 && Opacity > 0) { FadeOut(); } else { Opacity = 1; FadeStatus = FadeStatuses.Visible; } }; }
void FadeOutHandler(object sender, EventArgs e) { if (FadeStatus == FadeStatuses.Hidden || FadeStatus == FadeStatuses.FadingIn) { ((Timer)sender).Tick -= FadeOutHandler; ((Timer)sender).Stop(); return; } this.Opacity -= 0.12f; if (Opacity <= 0) { Timer T = (Timer)sender; ((Timer)sender).Tick -= FadeOutHandler; T.Stop(); Opacity = 0; FadeStatus = FadeStatuses.Hidden; } this.Refresh(); }
void FadeInHandler(object sender, EventArgs e) { if (FadeStatus == FadeStatuses.Visible || FadeStatus == FadeStatuses.FadingOut) { ((Timer)sender).Tick -= FadeInHandler; ((Timer)sender).Stop(); return; } this.Opacity += 0.12f; if (Opacity >= 1) { Timer T = (Timer)sender; ((Timer)sender).Tick -= FadeInHandler; T.Stop(); Opacity = 1; FadeStatus = FadeStatuses.Visible; } this.Refresh(); }