延时执行函数:前浪死在沙滩上
业务场景:有主表、子表两个GridView点击主表的行,会自动读取主表对应的子表数据
但是如果反复点击会导致反复读取,其实反复点击的时候只需要最后一次执行查询,前面的几次点击都是无意义操作
根据这一需求设计了一个函数:
private static List<System.Windows.Forms.Timer> Tup = new List<System.Windows.Forms.Timer>();
/// <summary>
/// 延时执行
/// </summary>
/// <param name="easySub">需要执行的代码/函数</param>
/// <param name="keyName">任务分组</param>
/// <param name="timeOut">等待timeOut时间后执行代码,如果当前分组中进入新的任务则前面的任务放弃,执行新的任务</param>
/// <param name="chkStatus">等待一定时间且循环验证chkStatus</param>
public static void DelayRun(Action easySub, string keyName, int timeOut = 501)
{
System.Windows.Forms.Timer lastTimer = Tup.Find(t => t.Tag.ToStringEx() == keyName);
if (lastTimer != null)
{
lastTimer.Enabled = false;
lastTimer.Enabled = true;
}
if (lastTimer == null)
{
System.Windows.Forms.Timer t = new System.Windows.Forms.Timer();
t.Interval = timeOut;
t.Enabled = true;
t.Tag = keyName;
Tup.Add(t);
t.Tick += delegate (object sender, EventArgs e)
{
((System.Windows.Forms.Timer)sender).Enabled = false;
string name = keyName;
easySub();
};
}
}
转载于:https://www.cnblogs.com/myrapid/p/10843757.html
延时执行函数:前浪死在沙滩上相关推荐
- 长江后浪推前浪,前浪死在沙滩上。本人在沙滩上又死了一回
面对初中就开始学习python的大一学弟,其写代码的能力不是一般的唬,还把自己的代码用svn当服务器给别人修改.而且还是vim控. 一下就是现在和他合作的case写的代码的结构,堪比正规大公司,秒杀一 ...
- 那些编程语言中的“后浪”都怎么样了:Swift 成功把“前浪”拍在沙滩上
Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者 | oschina 来源 | 开源中国 近日, ...
- HTML5凭什么将Flash“拍死”在沙滩上?
放在最前面希望不会影响你的观看,文章很不错哦! 自己整理了一份2018最全面前端学习资料,从最基础的HTML+CSS+JS [炫酷特效,游戏,插件封装,设计模式]到移动端HTML5的项目实战的学习资料 ...
- js Function对象扩展与延时执行函数实例代码
网页特效 function对象扩展与延时执行函数实例代码 function.prototype.delay=function(this1,timeout){ this1=this1||null; ti ...
- 前端构建工具之争——Webpack vs Gulp 谁会被拍死在沙滩上
阅读目录 理想的前端开发流程 Gulp 为何物 webpack 又是从哪冒出来的 结论 文章有点长,总共 1800 字,阅读需要 18 分钟.哈哈,没耐心的直接戳我到高潮部分. 理想的前端开发流程 在 ...
- js自执行函数前加个分号(;!function(){}();)是什么意思?
;(function(){//这应该是一个某系统的插件js //具体功能代码... })(); 从语法上来开,Javascript中分号表示语句结束,在开头加上,可能是为了压缩的时候和别的方法分割一下 ...
- 国产IT彪起来了,后浪要将前浪拍死在沙滩上
浪潮在广州浪潮服务器存储全国合作伙伴大会中再一次自信发声:2016年将继续保持中国服务器市场第一,存储进入中国市场前五. 作为去IOE和国产化的受益者,浪潮等国产厂商曾经受到不少质疑,国产服务器,能够 ...
- js关于setTimeout实现延时执行函数并进行传参
传参方式一:setTimeout第一个参数可以是一段JS的代码字符串片段,第二个参数为延迟时间单位ms <script> function ab() { var a=1; var b =1 ...
- python延时执行函数_一日一技:在 Python 中实现延迟调用
一日一技:在 Python 中实现延迟调用 收录于话题 #你不知道的 Python 71个 摄影:产品经理 产品经理的生日餐 熟悉 Golang 的同学都知道,Golang 里面有一个关键词叫做def ...
最新文章
- 因贡献Linux社区被Linus关注,受公司10万期权奖励!酷派重回大众视野...
- USB设备被识别流程【转】
- C# 中的委托和事件[转]
- 谷歌开源3D舞蹈生成模型FACT,舞姿清奇!
- CF886E Maximum Element(dp、组合数学)
- web前端常用知识点
- 中国直销未来三五年的发展趋势[转]
- aqs clh java_Java并发包源码学习之AQS框架(二)CLH lock queue和自旋锁
- 厨房炒锅行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- MTK:MVRAM操作
- 千月最新影视APICLOUD完整安卓程序源码+UI非常不错
- 今日头条、抖音推荐算法原理全文详解!
- 对于程序员的技术发展和职业规划能否给大家一些建议呢?
- Windows XP控制台图解
- 小程序,微信支付:支付失败,商户号该产品权限未开通,请前往商户平台 产品中心检查后重试
- 中台战略全解读(三):业务中台建设
- m基于FPGA的通信数据帧加扰解扰verilog实现,包含testbench
- 语言模型训练工具SRILM详解
- Google首席决策师告诉你AI和数据科学团队需要哪10种角色?
- 电脑软件:推荐七款实用的效率神器
热门文章
- Vuforia官方文档-03-Vuforia Engine 生命周期
- php062企业设备管理系统,晨科设备管理系统,建立规范的企业设备管理体系
- 单片机程序架构之----时间片轮询法
- 艾伟_转载:一次挂死(hang)的处理过程及经验
- 插值、平稳假设、本征假设、变异函数、基台、块金、克里格、线性无偏最优…地学计算概念及公式推导
- Android studio下JNI(NDK)开发
- linux小火车指令,Linux 好玩的小命令–linux小火车
- 数据库设计(建模)PowerDesigner
- 怎样才能提高视频转码后的清晰度?
- 微博敲定在香港上市发行价:定价相对下降三成,散户认购情况惨淡