gpt4 book ai didi

c# - C# WinForm 中 MessageBox 的连续弹出

转载 作者:太空狗 更新时间:2023-10-30 00:10:06 25 4
gpt4 key购买 nike

这是我的代码:

private void btnReminder_Click(object sender, EventArgs e)
{
timer2.Start();
}

private void timer2_Tick(object sender, EventArgs e)
{
DateTime Date = DateTimePickerReminderDate.Value;
DateTime Time = DateTimePickerReminderTime.Value;
if (DateTime.Now.CompareTo(Date) > 0 && DateTime.Now.CompareTo(Time) > 0)
{
Date = DateTime.MaxValue;
Time = DateTime.MaxValue;
MessageBox.Show("Your Reminder");

timer2.Stop();
}
}

当我设置提醒时它按预期工作并在正确的时间显示消息。但问题是,它不断弹出消息框我试图清除这个错误但我没有成功。所以现在我需要专家的建议,所以请帮我清除这个错误。

最佳答案

MessageBox 将在显示时阻塞您的 UI 线程,并且您在单击对话框之前不会到达 timer.Stop()。尝试在显示 MessageBox 之前停止计时器:

private void timer2_Tick(object sender, EventArgs e)
{
DateTime Date = DateTimePickerReminderDate.Value;
DateTime Time = DateTimePickerReminderTime.Value;
if (DateTime.Now.CompareTo(Date) > 0 && DateTime.Now.CompareTo(Time) > 0)
{
timer2.Stop();

Date = DateTime.MaxValue;
Time = DateTime.MaxValue;
MessageBox.Show("Your Reminder");
}
}

关于c# - C# WinForm 中 MessageBox 的连续弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35391226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com