textbox1に何かを印刷してから、1秒間待ってから画像を表示してから、もう一度1秒間待ってから、ボタンを1回クリックするだけでtextbox2に何かを印刷する必要がある場合があります。ボタンのClickイベントでtextbox1に印刷した後、スリープを書き込んだとき。UIでの印刷は一度に行われることがわかります。つまり、一時停止して次々に印刷が行われることを期待していますが、単一のイベントハンドルであるため、終了するまで待機し、一度にUIに表示されます。最終的には。
質問する
706 次
2 に答える
0
Windows Phone 8のように機能するかどうかはわかりませんが、メソッドを非同期にして呼び出すことで「スリープ」することができます
await Task.Delay(1000);
public async void myMethod(){
printString1();
await Task.Delay(1000);
showImage();
await Task.Delay(1000);
printString2();
}
于 2013-03-26T14:48:41.003 に答える
0
コードをスレッドに入れて、UIを更新する必要があるときにディスパッチャーを使用できます。
private void Process()
{
this.Dispatcher.BeginInvoke(() => this.TextBox1.Text = "Hello");
Thread.Sleep(1000);
this.Dispatcher.BeginInvoke(() => this.Picture1.Visibility = Visibility.Visible);
Thread.Sleep(1000);
this.Dispatcher.BeginInvoke(() => this.TextBox2.Text = "World");
}
次に、スレッドを開始するには(ユーザーがボタンをクリックしたとき):
var thread = new Thread(this.Process);
thread.Start();
于 2013-03-26T15:58:35.037 に答える