WPF 弹窗

  void NoticeWindow_Loaded(object sender, RoutedEventArgs e)
        {
            tbx_msg.Text = MSG;
            NoticeWindow self = sender as NoticeWindow;
            if (self != null)
            {
                self.UpdateLayout(); 
                SystemSounds.Asterisk.Play();//播放提示声
                self.Top = 10 + self.ActualHeight;
                DoubleAnimation animation = new DoubleAnimation();
                animation.Duration = new Duration(TimeSpan.FromMilliseconds(500));
                animation.From = SystemParameters.WorkArea.Bottom;
                animation.To = SystemParameters.WorkArea.Bottom - self.ActualHeight;
                self.BeginAnimation(Window.TopProperty, animation);
                Task.Factory.StartNew(delegate
                {
                    System.Threading.Thread.Sleep(TimeSpan.FromSeconds(5));//通知持续5s后消失
                    System.Windows.Application.Current.Dispatcher.Invoke(
                             new Action(() =>
                             {
                                 animation = new DoubleAnimation();
                                 animation.Duration = new Duration(TimeSpan.FromMilliseconds(500));
                                 animation.Completed += (s, a) => { self.Close(); };//动画执行完毕,关闭当前窗体
                                 animation.From = SystemParameters.WorkArea.Bottom - self.ActualHeight;
                                 animation.To = SystemParameters.WorkArea.Bottom;
                                 self.BeginAnimation(Window.TopProperty, animation);
                             }));
                });
            }
        }
    }

 

转载于:https://www.cnblogs.com/zebra-bin/p/11194498.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值