- ふらっと C#,C♯,C#(初心者用) Part114©2ch.net
759 :デフォルトの名無しさん[sage]:2015/02/25(水) 19:23:32.75 ID:plZjtN54 - WPFのdispatcherTimer2つをそれぞれ非同期に実行することはできますか?
具体的には以下のようなコードでタイマーそれぞれを動かしたいのですが、 dispatcherTimer2が動くとdispatcherTimerが停止してしまいます。 private DispatcherTimer dispatcherTimer; private DispatcherTimer dispatcherTimer2; public MainWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { dispatcherTimer = new DispatcherTimer(DispatcherPriority.Send); dispatcherTimer.Interval = new TimeSpan(0, 0, 2); dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick); dispatcherTimer.Start(); dispatcherTimer2 = new DispatcherTimer(DispatcherPriority.Normal); dispatcherTimer2.Interval = new TimeSpan(0, 0, 5); dispatcherTimer2.Tick += new EventHandler(dispatcherTimer2_Tick); dispatcherTimer2.Start(); }
| - ふらっと C#,C♯,C#(初心者用) Part114©2ch.net
760 :759[sage]:2015/02/25(水) 19:25:57.20 ID:plZjtN54 - void dispatcherTimer_Tick(object sender, EventArgs e)
{ dispatcherTimer.Stop(); Label1.Content = DateTime.Now.ToString("HH:mm:ss"); DoEvents(); while (true) { DoEvents(); System.Threading.Thread.Sleep(1000); Label1.Content = DateTime.Now.ToString("HH:mm:ss"); DoEvents(); } } void dispatcherTimer2_Tick(object sender, EventArgs e) { dispatcherTimer2.Stop(); Label2.Content = DateTime.Now.ToString("HH:mm:ss"); DateTime timeOut = DateTime.Now.AddSeconds(180); //3分 while (true) { if (DateTime.Now > timeOut) { return; } } }
|
|