在一天的不同时间登录表单,会发生不同的事件

本文关键字:事件 表单 一天 同时间 登录 | 更新日期: 2023-09-27 18:18:35

在我的c# windows窗体应用程序中,我有一个web浏览器和许多按钮和2定时器和其他东西。我的表单将我登录到我的大学网站,整个星期我有很多课,我的表单中有一个时钟,我点击每个按钮就可以进入我的大学课程。我想让我的表单知道现在是什么时间,并在当天的那个时间执行相应的大学班级按钮。例如,如果我在周一早上9点启动表单它会让我登录它会执行button1。performclick ();,它会把我带到OHS,如果我在周二下午1点开始我的表单,它会登录我,然后点击button2.PerformClick();,这将把我带到另一个主题,等等。我的表单时钟工作完美,我的登录工作完美,我的按钮去我的大学课堂工作,但现在我想自动化它。通过运行的形式,我已经使它自动登录,但现在我怎么能使我的形式知道什么时间和一天,它是和按钮。点击那天我需要的按钮?我甚至不确定要搜索什么,或者如果可能的话,请回答。

在一天的不同时间登录表单,会发生不同的事件

有几种方法可以做到这一点。由于您希望在应用程序启动时完成此操作,因此我将这样做:

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...

你可以像Psychemaster建议的那样做整个Timer自动化,但这会在你使用程序时自动化事情,我认为你不希望它在你工作的时候尝试加载不同的页面。或者,你可以实现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.
}