【问题标题】:How to make a reminder in C# using System.Timers.Timer and System.Threading如何使用 System.Timers.Timer 和 System.Threading 在 C# 中进行提醒
【发布时间】:2014-03-27 03:53:59
【问题描述】:

我正在尝试创建一个简单的约会剩余应用程序,我可以在约会时间前 15 分钟获得剩余的约会。我在表单加载时调用 timer1_Tick(object sender, EventArgs e) 函数。

private void timer1_Tick(object sender, EventArgs e)
    {
        try
        {
        DateTime now = DateTime.Now;
        //now = now.AddMinutes(10);
        now = now + TimeSpan.FromMinutes(15);
        string longtime = now.ToString("hh:mm:ss tt");//    "03:46:00 PM";
        string shortdate = now.ToString("dd/MM/yyyy"); //"21/02/2015";
        MySqlCommand cmdchk = new MySqlCommand("select * from tbl_appointment where adate=@adte and atime=@time", con);
        cmdchk.Parameters.AddWithValue("@adte", shortdate);
        cmdchk.Parameters.AddWithValue("@time", longtime);
        dr = cmdchk.ExecuteReader();
        if (dr.HasRows)
        {
            while (dr.Read())
            {
                appointmentid = dr.GetInt32(0);
                smsmobile = dr.GetString(2);
            }
            dr.Close();
            Frm_app_pop pop = new Frm_app_pop();
            pop.appointmentid = appointmentid.ToString();
            pop.Show();
            words[0] = appointmentid;
        }
        dr.Close();
        dr.Dispose();
        if (flags.remiderflag == true)
        {
            remindtimer.Start();
        }
        dr.Close();


        }
        catch (Exception ex)
        {
            string exce = ex.Message;
        }
    }

我已将时间间隔设置为 1 秒。每秒钟都会运行 timer1_Tick 函数,该函数连接到数据库并获取 longtime 中的时间,这是我要设置提醒的时间。

当我运行这段代码时,它运行良好,但我没有收到任何提醒(应该使用pop.show() 显示),这段代码也没有任何错误。

请分享这个问题的解决方案。

【问题讨论】:

  • 这似乎与您几天前的问题重复,您似乎没有听从我的任何建议。事实上,你的代码越来越差了。开始here
  • @Bill Shannon:我使用您建议的更改测试了代码,但代码仍然无法正常工作。这就是我开始提出新问题的原因。如果您能指出我应该进行哪些更改在我的代码中制作,这将非常有帮助。谢谢
  • 我确实告诉过您要进行哪些更改。您是否阅读了常见问题解答?你用过那里的代码吗?
  • 是的,我完全按照我的用户名和密码进行了更改,但是当我使用“imap”(如常见问题解答中给出的)而不是“imap”时,我得到了 javax 的异常。 mail.NoSuchProviderException:没有 imap 的提供者

标签: c#


【解决方案1】:

检查您的网络连接和防火墙检查。从命令行,你必须运行以下命令,如果成功,你可以发送邮件。

  1. ping google.com
  2. tracert google.com

然后将 ssl.enable 属性设置为 false。

【讨论】:

  • 第二个命令不起作用它说“没有找到命令'tracert'”。我正在使用ubuntu ...
【解决方案2】:

尝试增加mail.imap.connectiontimeout javamail 属性的值,例如增加10000

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多