問題タブ [dispatchertimer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
606 参照

c# - DispatcherTimer に問題がある

WPF ウィンドウでディスパッチャー タイマーの一部を使用すると、問題が発生します。ウィンドウでは通常タイマーを使用しますが、この関数は WPF フォームには存在しないようですのでDispatcherTimer、同等であるとアドバイスされました。

だから私はこれらのタイマーを3つ持っています:

30 秒ごとの最初の 1 つは、フォームを前方に移動します。これは正しく機能します。

2 つ目は、IExplorer が実行されているかどうかを 100 ミリ秒ごとにチェックし続けます。実行されている場合は [OK] ボタンを非表示にし、ユーザーに IExplorer を閉じるように指示するメッセージをフォームに表示します - IE が実行されている場合にフォームを実行すると、ボタンが無効になり、メッセージを表示しますが、IE を閉じても元に戻りません。

IEが開いているか閉じている場合にタイマーを常に実行してフォームを更新するにはどうすればよいですか?

そして 3 番目に、2 番目のタイマーが 100 ミリ秒ごとに実行されるように、ユーザーが [OK] ボタンをクリックすると、ユーザーが呼び出しを試みた場合に IExplorer プロセスを強制終了したいのですが、2 番目のタイマーのようにそうではありません常に動いているようです。

何か案は?

0 投票する
1 に答える
2031 参照

c# - DispatcherTimer の間隔を更新しようとしていますが、常に機能するとは限りません

スネークゲームを作ろうとしています。私が実現したいのは、ヘビが食べ物を食べるたびに動きが速くなることです。

タイマーの刻みを速くすることでこれを行いたいです。

次の時間間隔でタイマーを開始します。

そしてそれを次のように更新します:

しかし、ゲームを実行すると、速度は 14 番目のスナックに到達するまで同じままで、その後突然変化します。nrTicks が 10000 を下回ることはすでにわかっています。

私の質問は、間隔が中間値に対して更新されないのはなぜですか?

0 投票する
0 に答える
94 参照

c# - DispatcherTimer - 条件が追加されたときにコードを実行しない

DispatcherTimer は、条件を追加するか、コンストラクターの外部でタイマーを開始しようとすると、コードを実行しません。

私が抱えている問題は、ボタン Show_ClickStuff がクリックされる前に、グラフィックスレイヤーが追加する条件なしでコンストラクターで DispatchTimer を開始した場合です。コンストラクターですべてを開始するのではなく、if 条件を Show_ClickStuff または _timer_tick に配置すると、コードにブレーク ポイントを配置して、タイマーがコード行にヒットするのを監視できますが、コード行は実行されません。条件を削除すると、コードが実行されます。私はあらゆる種類のバリエーションを試しましたが、これを必要な方法で機能させることはできません

System.Windows.Threading の使用; .NET Framework 4.5 コード ファイル: .xaml.cs Silverlight 4

0 投票する
2 に答える
395 参照

wpf - DispatcherTimer とタイマー

WPF アプリで奇妙なことが発生しています。私は DispatcherTimer と System.Timers.Timer クラスを試し、ストップウォッチで費やした時間を比較しました。DispatcherTimer を使用すると、アプリとストップウォッチ (30 分間テスト済み) で表示される間隔にほとんど違いはないようです。しかし、他のタイマーを使用すると、アプリケーションで大幅に時間が失われます。DispatcherTimer を使用することもできましたが、ここに問題があります。別の場所から UI を更新すると、ディスパッチャー タイマーがその特定の間隔でフリーズしているように見えるため、時間も失われます。なぜこれが起こっているのか、それを修正する方法は?

0 投票する
2 に答える
1681 参照

c# - DispatcherTimerにテキストボックスに時間を表示させ、C#で特定の時間に達したときにアクションを実行する方法は?

これは、StackOverflow に関する 2 番目の質問です。しばらく前に最初の質問を投稿しましたが、すぐに有効な返信があり、非常に感銘を受け、感謝しています.

とにかく、私が知りたいのは、 DispatcherTimer を機能させて特定のテキストボックスに時間を表示し、特定の時間(60秒としましょう)に達したら停止し、60秒後に機能を実行する方法です。

私が基本的にこれを使用しているのは次のとおりです。

60 秒後に停止し、スコアまたは関連するものを表示する必要があるゲームを作成します。そのため、テキスト ボックスに時間を表示し、60 秒以降に関数を実行する必要があります。

詳細は次のとおりです。

テキストボックスは「タイマーボックス」と呼ばれます

これが私が試したコードです:

テキストボックスに時間が表示されないだけでなく、特定の時点で停止して機能を実行する方法がわかりません。

ここにたどり着いていただきありがとうございます。私は完全な初心者なので、完全な説明を添えて回答を残してください:)

PS Visual Studio 2013 で Windows ストア アプリ開発環境を使用しています。また、通常の C# 環境にある「タイマー」はありません。

0 投票する
1 に答える
724 参照

wpf - この回転アニメーションが途切れ途切れになるのはなぜですか?

画像が回転し続ける WPF アプリケーションがあり、場合によっては何らかのアニメーションが表示されます。2 つのキーフレームが同じ値を保持している場合を除いて、アプリケーションの再生時に回転はスムーズに実行され続けます。デモンストレーションの目的で、私はそれを必要最小限に絞り込みました:

ウィンドウには、rendertransform として RotateTransform を持つイメージ要素が含まれており、回転の角度はウィンドウの分離コードのプロパティにバインドされています。

画像の不透明度を最初の 1 秒間で 0 から 1 にフェードインし、次の 2 秒間は 1 に保持し、最後の 1 秒間で 1 から 0 にフェードするアニメーションもあります。

コードビハインドは次のようになります。

RotateTransform の角度値を含む double 型のプロパティ Angle があります。INotifyPropertyChanged のイベント ハンドラーを使用して、バインドされたアイテムに変更を通知します。また、1 秒間に 30 回起動する DispatcherTimer もあり、ティックごとに Angle プロパティがわずかに増加し、回転し続けるようになっています。

アプリケーションを実行すると、画像が 30 fps で毎秒 1 回転の速度で回転することがわかります。回転して最初の 1 秒間はスムーズにフェード インしますが、不透明度が 1 のままである 2 秒間は、回転が途切れ途切れになります。その後、不透明度がフェードして 0 に戻ると、回転は再びスムーズになります。

奇妙なことに、不透明度が 1 のままにならないようにすれば、これを修正できます。

...回転は滑らかなままです。

ここで何が起こっているのですか?

0 投票する
1 に答える
1030 参照

c# - DispatcherTimer 間隔をスライダー値にバインドする

Slider'sValueDispatcherTimer'sにバインドできるかどうか疑問に思っていましたInterval。イベントをサブスクライブしてValueChangedから単に実行できることはわかっていますが、メカニズムtimer.Interval = new TimeSpan.FromMilliseconds(slider.Value)だけを使用して同じ効果を達成することは可能ですか? Binding前もって感謝します :)