Я пытаюсь получить данные из DatePicker с именем targetDate
и пары TextBox с именами targetHour
и targetMinute
.Я хочу читать то, что есть в них каждую секунду.Поэтому я создал таймер следующим образом:
System.Timers.Timer tmr = null;
private void SetTimer()
{
tmr = new System.Timers.Timer(1000);
tmr.AutoReset = true;
tmr.Elapsed += TimerEvent;
tmr.Enabled = true;
}
Таймер работает нормально, и я тоже получаю данные.На данный момент, только для целей проверки, я отображаю все, что получаю из targetDate
, targetHour
и targetMinute
в другой TextBox differenceTime
внутри TimerEvent
.
Dispatcher.BeginInvoke(new ThreadStart(() => targetDT = targetDate.Text));
Dispatcher.BeginInvoke(new ThreadStart(() => targethh = Int32.Parse(targetHour.Text)));
Dispatcher.BeginInvoke(new ThreadStart(() => targetmm = Int32.Parse(targetMinute.Text)));
//temp = targetDT + " " + targethh + ":" + targetMinute;
Dispatcher.BeginInvoke(new ThreadStart(() => differenceTime.Text = targetDT + "-" + targethh));
Код выше работает нормально.Мой главный вопрос: есть ли лучший способ сделать это, не используя Dispatcher.BeginInvoke
?Кроме того, но менее важно, если я пытаюсь использовать строку temp
для заполнения differenceTime
, это не работает, почему это так?