用windowsformapp完成: 1、窗口加载,设置定时器1,间隔为1000毫秒,显示当前年月日+时间 2、起床闹钟,设置好后,点击执行,弹出消息框:“天选之子,起床了迎接朝阳!” 2、睡觉闹钟,设置好后,点击执行,8点弹出消息框:“逗比,该睡觉了! 4、定时开机重启:时间到后,执行关机或者重启操作
时间: 2024-01-04 21:02:25 浏览: 119
以下是实现这些功能的示例代码:
```
public partial class MainForm : Form
{
private Timer timer1;
public MainForm()
{
InitializeComponent();
timer1 = new Timer();
timer1.Interval = 1000;
timer1.Tick += Timer1_Tick;
timer1.Start();
}
private void Timer1_Tick(object sender, EventArgs e)
{
// 显示当前年月日+时间
lblCurrentTime.Text = DateTime.Now.ToString();
}
private void btnWakeUp_Click(object sender, EventArgs e)
{
// 弹出起床消息框
MessageBox.Show("天选之子,起床了迎接朝阳!");
}
private void btnSleep_Click(object sender, EventArgs e)
{
// 定义睡觉时间为每天8点
DateTime sleepTime = DateTime.Today.AddHours(20);
// 如果当前时间已经超过了睡觉时间,那么将睡觉时间设置为明天的8点
if (DateTime.Now >= sleepTime)
{
sleepTime = sleepTime.AddDays(1);
}
// 计算距离睡觉时间还有多长时间
TimeSpan timeLeft = sleepTime - DateTime.Now;
// 弹出睡觉消息框
MessageBox.Show(string.Format("逗比,该睡觉了!还有{0}小时{1}分钟", timeLeft.Hours, timeLeft.Minutes));
}
private void btnShutdown_Click(object sender, EventArgs e)
{
// 定义关机时间为10秒后
DateTime shutdownTime = DateTime.Now.AddSeconds(10);
// 创建一个计时器,用于检测关机时间是否到达
Timer timer = new Timer();
timer.Interval = 1000;
timer.Tick += (s, ev) =>
{
if (DateTime.Now >= shutdownTime)
{
// 关机
System.Diagnostics.Process.Start("shutdown", "-s -t 0");
timer.Stop();
}
};
timer.Start();
}
private void btnRestart_Click(object sender, EventArgs e)
{
// 定义重启时间为10秒后
DateTime restartTime = DateTime.Now.AddSeconds(10);
// 创建一个计时器,用于检测重启时间是否到达
Timer timer = new Timer();
timer.Interval = 1000;
timer.Tick += (s, ev) =>
{
if (DateTime.Now >= restartTime)
{
// 重启
System.Diagnostics.Process.Start("shutdown", "-r -t 0");
timer.Stop();
}
};
timer.Start();
}
}
```
在这个示例中,我们创建了一个Windows窗体应用程序,并添加了一个标签控件`lblCurrentTime`,用于显示当前的时间。我们还添加了三个按钮控件`btnWakeUp`、`btnSleep`和`btnShutdown`,分别用于设置起床闹钟、睡觉闹钟和定时关机。当用户单击按钮时,将会执行相应的操作,例如弹出消息框或关机/重启计算机。我们还使用了计时器控件`timer1`,每隔1秒钟更新一次当前时间的标签控件。
阅读全文