前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C# Timer控件学习之使用Timer解决按钮幂等性问题案例分享

C# Timer控件学习之使用Timer解决按钮幂等性问题案例分享

原创
作者头像
用户7718188
发布2022-11-06 20:17:01
7620
发布2022-11-06 20:17:01
举报

Timer控件的属性

属性 AutoReset 获取或设置一个布尔值,该值指示 Timer 是否应只引发一次 Elapsed 事件((false) 或重复 (true))。  CanRaiseEvents 获取一个指示组件是否可以引发事件的值。(继承自 Component)  Container 获取包含 IContainer 的 Component。(继承自 Component)  DesignMode 获取一个值,用以指示 Component 当前是否处于设计模式。(继承自 Component)  Enabled 获取或设置一个值,该值指示 Timer 是否应引发 Elapsed 事件。  Events 获取附加到此 Component 的事件处理程序的列表。(继承自 Component)  Interval 获取或设置引发 Elapsed 事件的间隔(以毫秒为单位)。  Site 获取或设置在设计模式中将 Timer 绑定到其容器的站点。  SynchronizingObject 获取或设置对象,该对象用于在间隔过后封送发出的事件处理程序调用。 

Timer控件的方法

方法 BeginInit() 开始用于窗体或由其他组件使用的 Timer 的运行时初始化。  Close() 释放由 Timer 占用的资源。  CreateObjRef(Type) 创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。(继承自 MarshalByRefObject)  Dispose() 释放由 Component 使用的所有资源。(继承自 Component)  Dispose(Boolean) 释放由当前 Timer 使用的所有资源。  EndInit() 结束用于窗体或由其他组件使用的 Timer 的运行时初始化。  Equals(Object) 确定指定对象是否等于当前对象。(继承自 Object)  GetHashCode() 作为默认哈希函数。(继承自 Object)  GetLifetimeService() 检索控制此实例的生存期策略的当前生存期服务对象。(继承自 MarshalByRefObject)  GetService(Type) 返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。(继承自 Component)  GetType() 获取类型

代码比较简单,我们重在学习,学一下这个控件证明用,知道逻辑就可以了,代码很简单,两个按钮两个定时器,将它们的触发函数看懂就可以实现了,按钮一的操作就是针对按钮重复提交而设计的。

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;​namespace Test929{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }​        private void timer1_Tick(object sender, EventArgs e)        {            button1.Enabled = true;//将按钮的用户交互打开        }​        private void button1_Click(object sender, EventArgs e)        {            timer1.Enabled = true;//打开Timer定时器按钮            button1.Enabled = false;//将按钮的用户交互关闭这样可以实现,按钮不可点击两秒                     }​        private void button2_Click(object sender, EventArgs e)        {            timer2.Enabled = !timer2.Enabled;//打开定时器二的函数        }​        private void timer2_Tick(object sender, EventArgs e)        {            Console.WriteLine("两秒执行一次这个函数");//打印这个话证明我们进入这个函数        }    } }

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Timer控件的属性
  • Timer控件的方法
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档