文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C#怎么重写Notification提示窗口

2023-06-30 04:57

关注

这篇文章主要介绍了C#怎么重写Notification提示窗口的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#怎么重写Notification提示窗口文章都会有所收获,下面我们一起来看看吧。

这个窗口是右下角提示小窗口,主要用于提示。

C#怎么重写Notification提示窗口

private void btnStartNotification_Click(object sender, EventArgs e){Bz.Controls.BzNotification notification = new Bz.Controls.BzNotification();notification.ShowAlert("启动成功", Bz.Controls.BzNotification.enumType.Success);}
public partial class BzNotification : Form{public static int Count = 0;        System.Windows.Forms.Timer timer = new Timer();        private int x, y;        public event Action OnNotificationClosed;        private bool isClosed = false;        public BzNotification()        {            InitializeComponent();            timer.Enabled = true;            timer.Tick += Timer_Tick;        }         private void Timer_Tick(object sender, EventArgs e)        {            switch (action)            {                case enmAction.wait:                    timer.Interval = 5000;                    action = enmAction.close;                    break;                case enmAction.start:                    timer.Interval = 1;                    this.Opacity += 0.1;                    if (this.x < this.Location.X)                    {                        this.Left--;                    }                    else                    {                        if (this.Opacity == 1.0)                        {                            action = enmAction.wait;                        }                    }                    break;                case enmAction.close:                    timer.Interval = 1;                    this.Opacity -= 0.1;                    this.Left -= 3;                    if (base.Opacity == 0.0 && isClosed==false)                    {                        isClosed = true;                        base.Close();                    }                    break;                default:                    break;            }        }         public enum enmAction        {            wait,            start,            close        }         public enum enumType        {            Success,            Warning,            Error,            Info        }          private enmAction action;          public void ShowAlert(string msg, enumType type)        {            this.Opacity = 0.0;            this.StartPosition = FormStartPosition.Manual;            this.x = Screen.PrimaryScreen.WorkingArea.Width - this.Width + 15;            this.y = Screen.PrimaryScreen.WorkingArea.Height - this.Height - this.Height*Count-5*Count;            this.Location = new Point(this.x, this.y);             this.x = Screen.PrimaryScreen.WorkingArea.Width - base.Width - 5;            switch (type)            {                case enumType.Success:                    picLogo.Image = Properties.Resources.success_icon;                    this.BackColor = Color.SeaGreen;                    break;                case enumType.Error:                    picLogo.Image = Properties.Resources.error_info;                    this.BackColor = Color.DarkRed;                    break;                case enumType.Info:                    picLogo.Image = Properties.Resources.info_icon;                    this.BackColor = Color.RoyalBlue;                    break;                case enumType.Warning:                    picLogo.Image = Properties.Resources.alert_icon;                    this.BackColor = Color.DarkOrange;                    break;            }            lblMessage.Text = msg;            this.Show();            this.action = enmAction.start;            Count++;            timer.Interval = 1;        }         private void picClose_Click(object sender, EventArgs e)        {            timer.Interval = 1;            action = enmAction.close;            if (Count > 0)                Count--;        }         protected override void OnClosed(EventArgs e)        {            base.OnClosed(e);            if (OnNotificationClosed != null)            {                OnNotificationClosed();            }            if (Count > 0)                Count--;        }     }

关于“C#怎么重写Notification提示窗口”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“C#怎么重写Notification提示窗口”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯