C# wait for user to finish typing in a Text Box

前端 未结 15 1217
无人及你
无人及你 2020-11-27 18:16

Is there a way in C# to wait till the user finished typing in a textbox before taking in values they have typed without hitting enter?

Revised this question a little

15条回答
  •  离开以前
    2020-11-27 18:43

    As an asynchronous extension method. Adapted from Grecon14's answer.

    public static class UIExtensionMethods
    {
        public static async Task GetIdle(this TextBox txb)
        {
            string txt = txb.Text;
            await Task.Delay(500);
            return txt == txb.Text;
        }
    }
    

    Usage:

    if (await myTextBox.GetIdle()){
        // typing has stopped, do stuff
    }
    

提交回复
热议问题