有没有办法在c#的一系列时间内激活消息框。我可以在13:00和16:00之间显示一个消息框。
group by
如果您有解决此问题的方法,请告诉我,因为我已经坚持了一段时间。
这是我到目前为止的代码。
if(DateTime.TimeOfDay(13,0,0 to 16,0,0)
{
messagebox.show("You need to feed the dog now");
}
答案 0 :(得分:0)
您可以轻松使用<
和>
运算符来比较您的TimeSpan
值,例如;
var ts = DateTime.Now.TimeOfDay;
if(ts > new TimeSpan(13, 0, 0) && ts < new TimeSpan(16, 0, 0))
{
MessageBox.Show("You need to feed the dog now");
}
答案 1 :(得分:0)
如果您只使用小时作为限制,您也可以这样做:
int thisHour = DateTime.Now.Hour;
if(thisHour.CompareTo(13 - 1) + thisHour.CompareTo(16) == 0)
{
MessageBox.Show("You need to feed the dog now.");
}
或者,关于你的扩展任务:
int thisHour = DateTime.Now.Hour;
string salutation = "Good Evening";
if(thisHour < 12)
{
salutation = "Good Morning";
}
else if (thisHour < 17)
{
salutation = "Good Afternoon";
}
synthesizer.SpeakAsync(salutation);