小铃初闹C#初学者(二)

本文介绍了如何在C#应用中利用NotifyIcon控件实现后台进程的定时任务提醒功能,包括添加控件、编写代码、实现任务栏气泡提示以及多任务连续提醒等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小铃初闹C#初学者(二)

【技术要点】

——NotifyIcon控件,显示在后台运行进程的标志。

        ShowBalloonTip方法,在任务栏中显示气泡提示。

            public voidShowBalloonTip (int timeout, string tipTitle, string tipText, ToolTipIcontipIcon);

【实现步骤】

——界面

        打开WindowsFormsApplication1项目在Form1窗体中添加NotifyIcon控件,选择Icon图标后再添加Timer控件,修改Interval值为500。

——代码

        双击Timer2组件输入Timer2_Tick事件代码

       if (flag ==false){//比较托盘图标标志

            notifyIcon1.Visible =true;//托盘图标显示

            notifyIcon1.ShowBalloonTip(1000, "时间到", DateTime.Now.ToLocalTime().ToString(),ToolTipIcon.Info);//任务栏气泡提示

            flag = true;}

       else{notifyIcon1.Visible=false;//托盘图标隐藏

            flag = false;}

     将Timer1_Tick事件中的label1.Text = "到达计时点"替换为代码

        timer2.Enabled = true;//启动timer2

     在notifyIcon1_BalloonTipClicked事件中加入代码

        timer1.Enabled = true;//启动timer1

        timer2.Enabled = false;//暂停timer2

     当然在class Form1中加入代码

        public static bool flag = false;//表示托盘图标是否闪烁

——完善

     添加textBox2控件后改写Timer2_Tick中代码实现文字说明显示

         DateTime.Now.ToLocalTime().ToString()为textBox2.Text.ToString()

     为防止空字符在Form1_Load事件中加入代码

         textBox2.Text = "_";//防止空字符

——改进

         可多任务连续提醒。

【主要代码】

        public static bool flag = false;//表示托盘图标是否闪烁
            public Form1()
        {
            InitializeComponent();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            string get_time = DateTime.Now.ToString ();//保存当前时间
            string set_time = textBox1.Text.ToString ();//从textBox1获得目标时间
            //比较当前与目标时间
            if (get_time == set_time)
            {
                timer1.Enabled = false;//暂停timer1
                timer2.Enabled = true;//启动timer2
            }
            else
            {
                label1.Text = get_time;//在label1显示当前时间
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.Text = DateTime.Now.ToString ()+".";//用符号区别输入
            textBox2.Text = "_";//防止空字符
            timer1.Enabled = true;//启动timer1
        }

        private void timer2_Tick(object sender, EventArgs e)
        {
            //比较托盘图标标志
            if (flag == false)
            {
                notifyIcon1.Visible =true;//托盘图标显示
                notifyIcon1.ShowBalloonTip(1000, "时间到",textBox2.Text.ToString(), ToolTipIcon.Info);//任务栏气泡提示
                flag = true;
            }
            else
            {
                notifyIcon1.Visible =false;//托盘图标隐藏
                flag = false;
            }
        }

        private void notifyIcon1_BalloonTipClicked(object sender, EventArgs e)
        {
            timer1.Enabled = true;//启动timer1
            timer2.Enabled = false;//暂停timer2
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值