В следующем коде вместо текущего системного времени я хочу вычесть 5 минут как целое число I от datetime.now().tostring()
. Таким образом, предупреждение может быть воспроизведено за 5 минут до того, как системное время соответствует времени в labeltext1.Как вычесть определенное количество минут из значения `DateTime`?
private void timer1_Tick(object sender, EventArgs e)
{
label_time1.Text = DateTime.Now.ToString();
mplayer = new SoundPlayer();
mplayer.SoundLocation = (@"c:\users\woolsvalley\documents\visual studio 2015\Projects\WindowsFormsApplication17\WindowsFormsApplication17\Alarm.wav");
if ((DateTime.Now.ToString("hh:mm tt") == ((textBox_ordertostart.Text))))
{
mplayer.Play();
pbuilder.ClearContent();
pbuilder.AppendText("Order time for" + "" + comboBox_suburb.SelectedValue + "Start in" + 5 + "minutes");
txt2speech.Speak(pbuilder);
}
}
Так что это вопрос о вычитании из даты-времени? Пожалуйста, сосредоточьтесь на этом и отбросьте все, что связано с «текстом в речь». – musefan
'DateTime.Now.AddMinutes (-i)' –
Использование таймера для того, чтобы все происходило в заданный момент, является плохой практикой. Вы также инициализируете SoundPlayer, даже если он не будет использоваться. – CodeCaster