.NET 4.0で使用しているカスタムコントロール(TextBoxから継承)があります。
私ができる必要があるのは、ユーザーが入力を終了した後、たとえば入力を停止してから1秒後に、コードを実行することです。
効率のため、また多少時間がかかるため、テキストが変更されるたびにこのコードブロックを実行することはできません。理想的には、ユーザーが入力を開始および停止するたびに1回だけ呼び出す必要があります。メソッド内でStopwatchを使用することから始めました。Restart()
OnTextChanged
これが私の設定です:
public class MyBox : TextBox
{
private readonly Stopwatch timer;
protected override void OnTextChanged(TextChangedEventArgs e)
{
timer.Restart();
base.OnTextChanged(e);
}
}
どうすればこれを効率的に行うことができますか?非同期スレッドが答えですか?または他の方法はありますか?