void OnShiftAnimation(FloatAnimationInfo finfo) { double newValue = finfo.Value * Height; double delta = newValue - PrevShiftValue; if (delta < 1.0) { return; } PrevShiftValue = newValue; foreach (NotificationForm form in OpenedForms) { if (form == this) { break; } form.TopLocation -= (int)(delta); form.Top = form.TopLocation; } while (OpenedForms.Count > 0 && OpenedForms.First().Bottom < 0) { OpenedForms.First().Hide(); OpenedForms.RemoveAt(0); } }
void OnEndAppearAnimation(BaseAnimationInfo info) { if (ShouldHide) { Hide(); OpenedForms.Remove(this); } ShouldHide = false; }
protected override void OnClosed(EventArgs e) { base.OnClosed(e); OpenedForms.Remove(this); }