Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用NotifyIcon和定时器C进行提醒#_C#_Notifyicon - Fatal编程技术网

C# 使用NotifyIcon和定时器C进行提醒#

C# 使用NotifyIcon和定时器C进行提醒#,c#,notifyicon,C#,Notifyicon,我写了一些代码来创建一个提醒。它应该在上午10点时通知我。为了实现这一点,我创建了一个DateTime对象作为DateTime。现在,为了获取本地时间,我使用计时器检查每一分钟是否与我希望得到警告的时间相同。问题是,我的应用程序只在加载表单时通知我,但当时间到来且应用程序已经运行时不会通知我。 我会把下面的代码留给你。提前谢谢 public partial class Form1 : Form { NotifyIcon notify; DateTime now; publ

我写了一些代码来创建一个提醒。它应该在上午10点时通知我。为了实现这一点,我创建了一个DateTime对象作为DateTime。现在,为了获取本地时间,我使用计时器检查每一分钟是否与我希望得到警告的时间相同。问题是,我的应用程序只在加载表单时通知我,但当时间到来且应用程序已经运行时不会通知我。 我会把下面的代码留给你。提前谢谢

public partial class Form1 : Form
{
    NotifyIcon notify;
    DateTime now;
    public Form1()
    {
        InitializeComponent();
        notify = new NotifyIcon()
        {
            Visible = true,
            Icon = Properties.Resources.icon,
            BalloonTipTitle = this.Text
        };
        now = DateTime.Now;
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        timer1.Start();
    }
    private void notification()
    {
        while(true)
        {
            if (now.Hour.Equals(10) && now.Minute.Equals(30))
            {
                notify.BalloonTipText = "It's 10:30 am";
                notify.ShowBalloonTip(3000);
                timer1.Stop();
                notify.Dispose();
            }
        }
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        notification();
    }
}
  • 通知中删除
    while(true)
    循环。你有一个滴答声计时器,它会定期调用
    通知
    ——现在你可以在第一次滴答声后无限次地检查时间

  • 现在
    必须在每个刻度上分配,而不是在启动时分配

  • :

  • 通知中删除
    while(true)
    循环。你有一个滴答声计时器,它会定期调用
    通知
    ——现在你可以在第一次滴答声后无限次地检查时间

  • 现在
    必须在每个刻度上分配,而不是在启动时分配

  • :


    问题是什么?问题是什么?对不起!我创建while循环是因为我试图替换计时器,因为它不工作。我会试试的谢谢你,我必须在每一个刻度上指定“现在”。对不起!我创建while循环是因为我试图替换计时器,因为它不工作。我会试试的谢谢你,我必须在每一个刻度上指定“现在”。
    private void notification()
    {
        DateTime now = DateTime.Now;
        if (now.Hour == 10 && now.Minute == 30)
        {
           notify.BalloonTipText = "It's 10:30 am";
           notify.ShowBalloonTip(3000);
           timer1.Stop();
        }
    }