在一天的不同时间登录表单,会发生不同的事件
本文关键字:事件 表单 一天 同时间 登录 | 更新日期: 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.
}