C#でWindowsフォームを実装していますが、ボタンのテキスト内容を変更しようとすると、この問題が見つかります。ボタンテキストの最後の有効化のみが表示されます。ボタンのテキスト内容を1秒後に変更します。
button.Text ="Content"
System.Threading.Thread.Sleep(1000);
button.Text = "";
どうすればこの問題を解決できますか?あなたはこのような何かTimer
使用して試すことができます
C#でWindowsフォームを実装していますが、ボタンのテキスト内容を変更しようとすると、この問題が見つかります。ボタンテキストの最後の有効化のみが表示されます。ボタンのテキスト内容を1秒後に変更します。
button.Text ="Content"
System.Threading.Thread.Sleep(1000);
button.Text = "";
どうすればこの問題を解決できますか?あなたはこのような何かTimer
使用して試すことができます
この試してみてください:あなたのUIは、あなたが睡眠を行いながら凍結し、それを更新しているので
button.Text ="Content";
Application.DoEvents(); // This will process all UI events currently in message queue
System.Threading.Thread.Sleep(1000);
button.Text = "";
'Application.DoEvents()'はイベントを処理しますが、アプリケーションはフリーズします(秒間) –
本当ですが、OPはATMを気にしていないようです。タイマーやタスクを使用する方が良い解決策になります。 –
:あなたは回避 lambasと明示的な処分にしたい場合は
button.Text = "Content";
Timer timer = new Timer() {
Interval = 1000,
Enabled = true
};
timer.Tick += (sender, e) => {
button.Text = "";
timer.Dispose();
};
は、フォームにタイマーを置きます。
を - あなたは待っている間、それは描画および更新できるようにする必要があります。タイマーを使用するなど.. – BugFinder