我想在用户键入时验证文本字段中的输入。此功能工作正常,但我想对验证进行速率限制,因为它正在访问外部 API。我只想在用户 750 毫秒未输入内容后执行验证。
ATM 我只是使用这个:
private void Configure_Load(object sender, EventArgs e)
{
endpointBox.KeyUp += EndpointBox_KeyUp;
}
void EndpointBox_KeyUp(object sender, KeyEventArgs e)
{
TestHTTP200(endpointBox.Text);
}
最佳答案
使用 Timer
控制
System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
private void Configure_Load(object sender, EventArgs e)
{
endpointBox.KeyUp += EndpointBox_KeyUp;
myTimer.Tick +=new EventHandler(OnTimedEvent); //EDIT: should not be `ElapsedEventHandler`
myTimer.Interval=750;
}
void EndpointBox_KeyUp(object sender, KeyEventArgs e)
{
myTimer.Stop();
myTimer.Start();
}
private void OnTimedEvent(Object myObject,EventArgs myEventArgs)
{
myTimer.Stop();
TestHTTP200(endpointBox.Text);
}
关于c# - C# 中 KeyUp 事件处理程序的速率限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16507326/