在一天的不同时间登录表格会产生不同的事件

时间:2014-08-19 13:05:09

标签: c# datetime timeofday

在我的c#windows窗体应用程序中,我有一个webBrowser和许多按钮和2个计时器和其他东西。我的表格让我进入我的大学网站,我整个星期都有多个课程,我的表格里面有一个时钟和我点击进入每个大学科目的按钮。我想知道我的表格是什么时间,并在一天中的那个时间执行相应的大学课程按钮。因此,例如,如果我在周一上午9点​​开始我的表单,它会记录我执行button1.PerformClick(); ,这会带我去OHS,并说如果我在星期二下午1点开始我的表格它会登录并点击button2.PerformClick();,这会将我带到另一个主题,依此类推。我的表单时间非常完美,我的登录工作非常完美,而且我的大学课程按钮可以正常工作,但现在我想自动化它。通过运行我自动登录的表单,但现在我怎么能让我的表单知道它的时间和日期,并按钮.performClick为我当天需要的按钮?我甚至不确定搜索什么或者如果它甚至可能请回答。

1 个答案:

答案 0 :(得分:1)

嗯,有几种方法可以完成这项工作。由于您希望在应用程序启动时完成此操作,我会执行以下操作:

var now = DateTime.Now;
if (now.DayOfWeek == DayOfWeek.Monday)
{
    if (now.Hour >= 9 && now.Hour <= 12)
    {
         LoadOhsPage();
    }
    else if (now.Hour > 12 && now.Hour <= 16)
    {
        LoadSomeOtherPage();
    }
    // ...and so on...
}
else if (now.DayOfWeek == DayOfWeek.Tuesday)
{
     // ...similar to above...
}
// ...and so on...

您可以像Timer建议的那样执行整个Psychemaster自动化,但这会在您使用该程序时自动执行,我认为您不希望它尝试加载不同的你正在做某事的页面。或者,你可以实现Timer,但也可以在页面的某个地方包含一个通知,告诉你是时候进入另一个类了,这样你就可以在完成当前任务时点击它。如果您决定采用这种方式,Timer自动化不仅仅是简单的,您可以在MSDN找到更多信息(滚动到底部以获取示例)。

如果链接断开,这是一个快速示例代码:

var appTimer = new Timer();

appTimer.Interval = 3600000; // 1 hour, alternatively 1800000 would be 30 minutes.
appTimer.Tick += new EventHandler(CheckDateTime);
appTimer.Start();

private void CheckDateTime(Object obj, EventArgs args)
{
    // Similarly to the first code, check the day of the week and the hour of the day;
    // then perform an appropriate action, such as notifying the user that it's time
    // to work on something else.  This is a better approach than forcing them to change
    // pages.
}