.net core NanUI 写一个输入int值,和一个按钮,输入值的单位默认为分钟,点击按钮后倒计时此值,时间到后弹出提示休息
时间: 2024-03-04 19:48:50 浏览: 140
好的,首先需要安装 `NanUI` 的 NuGet 包和 `Newtonsoft.Json` 的 NuGet 包。
接下来,我们需要在窗体上添加一个 TextBox 控件和一个 Button 控件,用于输入时间和触发倒计时。在窗体的构造函数中,可以初始化控件并设置默认的时间单位为分钟。
```csharp
public MainForm()
{
InitializeComponent();
// 初始化控件
txtTime.Text = "30";
cmbUnit.SelectedIndex = 0;
}
```
然后,在按钮的 Click 事件中,我们需要将输入的时间转换为秒,并启动一个计时器,每秒减少一秒,并更新显示倒计时的标签。当倒计时结束时,弹出提示框提醒用户休息。
```csharp
private void btnStart_Click(object sender, EventArgs e)
{
// 获取输入的时间和单位
int time = int.Parse(txtTime.Text);
int unit = cmbUnit.SelectedIndex;
// 将时间转换为秒
if (unit == 1) // 如果单位是小时
{
time *= 60 * 60;
}
else // 如果单位是分钟(默认)
{
time *= 60;
}
// 启动计时器
countdownTimer.Interval = 1000;
countdownTimer.Tag = time;
countdownTimer.Start();
// 更新显示倒计时的标签
lblCountdown.Text = $"{time / 60} 分钟 {time % 60} 秒";
}
private void countdownTimer_Tick(object sender, EventArgs e)
{
// 获取剩余时间
int time = (int)countdownTimer.Tag - 1;
// 更新显示倒计时的标签
lblCountdown.Text = $"{time / 60} 分钟 {time % 60} 秒";
// 如果倒计时结束
if (time == 0)
{
// 弹出提示框提醒用户休息
MessageBox.Show("休息一下吧!");
// 停止计时器
countdownTimer.Stop();
}
else
{
// 更新计时器的剩余时间
countdownTimer.Tag = time;
}
}
```
最后,还需要在窗体的 Load 事件中,为计时器的 Tick 事件绑定处理方法。
```csharp
private void MainForm_Load(object sender, EventArgs e)
{
countdownTimer.Tick += countdownTimer_Tick;
}
```
以上就是一个简单的倒计时应用的实现过程。完整的代码如下:
阅读全文