在我的 c# windows 窗体应用程序中,我有一个 webBrowser 和很多按钮和 2 个计时器和其他东西。我的表格将我登录到我的大学网站,并且我整个星期都有多个课程,我的表格中有一个时钟和按钮,我点击这些按钮可以转到我的每个大学科目。我想以某种方式让我的表格知道现在几点,并在一天中的那个时间执行相应的大学课程按钮。因此,例如,如果我在星期一早上 9 点开始我的表单,它会记录我执行 button1.PerformClick(); ,这将我带到 OHS 并说如果我在星期二下午 1 点开始我的表单,它会登录并单击 button2.PerformClick();,这会将我带到另一个主题等等。我的表单时钟运行完美,我的登录运行完美,我的大学课程按钮也运行良好,但现在我想自动化它。
1 回答
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,但也可以在页面的某处包含一个通知,告诉您该上课了,这样您就可以在完成当前任务时单击它。如果您决定走这条路,那么自动化就不那么简单了,您可以在MSDNTimer上找到更多信息(例如,滚动到底部)。
以防万一该链接被破坏,这里有一个快速示例代码:
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.
}
于 2014-08-19T13:44:41.243 回答