[解決済み] C#の遅延機能
2022-02-03 18:34:42
質問
一連のコマンドの間に遅延を発生させる方法について理解する必要があります。私の背景はC(DOS)であり、現在はVisual Studio 2015でC#を使用して概念を復活させています。これは私が苦労しているコードです。
using System.Threading;
private void button1_Click(object sender, EventArgs e) // Button
{
int i;
for (i = 0; i < 10; i++)
{
textBox1.BackColor = Color.Red;
Thread.Sleep(100);
textBox1.BackColor = Color.Yellow;
Thread.Sleep(100);
}
}
テキストボックスの背景色が10回ずつ交互に変わると思っていたのですが、ループ終了後に黄色しか表示されません。遅延時間を長くすると、プログラムが終了するまでに時間がかかることに気がつきます。関連記事をいくつか見てみましたが、要領がつかめませんでした。何かご教示いただければ幸いです。ありがとうございます。
どのように解決するのですか?
非同期メソッドを使用し、組み込みの
Task.Delay
メソッドを使用します。これにより、実行は一時停止され、指定された時間後に再開されます
なし
は現在のスレッドをブロックする。
async Task UseDelay()
{
await Task.Delay(1000); // wait for 1 second
}
あなたの具体的なケースでは
async void button1_Click(object sender, EventArgs e)
{
for (var i = 0; i < 10; i++)
{
textBox1.BackColor = Color.Red;
await Task.Delay(100);
textBox1.BackColor = Color.Yellow;
await Task.Delay(100);
}
}
関連
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み】GDI+、JPEG画像をMemoryStreamに変換する際にジェネリックエラーが発生しました。
-
[解決済み】Ajax処理で「無効なJSONプリミティブ」と表示される件
-
[解決済み] [Entity Framework 4.1でエンティティに関連オブジェクトを追加する際に、エンティティオブジェクトをIEntityChangeTracker.の複数のインスタンスから参照できない。
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】バックスラッシュを含むパス文字列のエスケープシーケンスが認識されない件
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み】60秒ごとに関数を呼び出す
-
[解決済み] java: 特定の秒数の後に関数を実行する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】コンパイルエラー「未割り当てのローカル変数を使用しています」が発生したのはなぜですか?
-
[解決済み】C#で四捨五入する方法
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み] UnityでOnCollisionEnterが呼ばれない
-
[解決済み] 2つのリストを結合する
-
[解決済み] 関数を終了するには?
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する