EventHandler和Timer添加事件操作
来源:互联网 发布:mysql 修复数据库 编辑:程序博客网 时间:2024/05/01 21:53
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace Go{ public partial class Form1 : Form { public Form1() { checkEH += OnPlus; checkEH += OnOp; InitializeComponent(); Initial(); } public delegate void checkEnventHandler(object sender, checkEventArgs e); public event checkEnventHandler checkEH; public class checkEventArgs : EventArgs { public string str = "Hello World!"; public checkEventArgs(string str) { this.str = str; } //MessageBox.Show(str); ~checkEventArgs() {} } public void OncheckEH(checkEventArgs e) { checkEH(this, e); } public int a = 0; public int b = 0; public string strOp = "String OpVeal"; public void OnOp(object sender, checkEventArgs e) { b = 0; b++; strOp = "/////*****"; } public void OnPlus(object sender, checkEventArgs e) { a = 9; } private void btn_Click(object sender, EventArgs e) { checkEventArgs msg = new checkEventArgs("HOO"); OncheckEH(msg); txt.Text += strOp; txt.Text += "*******"; txt.Text += a.ToString(); txt.Text += "*******"; txt.Text += b.ToString(); timer2.Enabled = true; } public System.Timers.Timer timer1 = new System.Timers.Timer(); public System.Timers.Timer timer2 = new System.Timers.Timer(); public List<System.Timers.Timer> lsttimer = new List<System.Timers.Timer>(); public void Get1_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { a++; if (a>46) { timer1.Enabled = false; timer2.Enabled = true; } } public void Get2_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { b++; MessageBox.Show("Waiting..."); if (b > 10) { timer2.Enabled = false; } } public void Initial() { timer1 = new System.Timers.Timer(5000); timer1.Elapsed += new System.Timers.ElapsedEventHandler(Get1_Elapsed); lsttimer.Add(timer1); timer2 = new System.Timers.Timer(1000); timer2.Elapsed += new System.Timers.ElapsedEventHandler(Get2_Elapsed); lsttimer.Add(timer2); } }}
在EventHandler中添加事件时,不能重复执行添加事件函数(Initial),否则导致EventHandler中多次添加该事件,会重复执行。
Timer计时器中添加事件,如果不将计时器的使能置为false,则会一直执行下去。
- EventHandler和Timer添加事件操作
- 注册和取消EventHandler 事件绑定
- C# WPF添加timer,实现Timer事件
- 第一章、C#委托和事件(Delegate、Event、EventHandler、EventArgs)
- C#委托和事件(Delegate、Event、EventHandler、EventArgs)
- C#委托和事件(Delegate、Event、EventHandler、EventArgs
- 事件三(使用EventHandler)
- EventHandler 事件 (Adding)
- 事件委托 EventHandler
- c# 事件 EventHandler
- 事件委托 EventHandler 。
- Android EventHandler—给应用添加事件處理(直播vlc)
- EventHandler(事件处理器)学习
- sharepoint eventHandler 的基本操作
- SharePoint 2013 EventHandler的操作
- 登山-C#-再讨论事件,理清事件和委托的关系,理清EventHandler<T>和传统事件的关系
- c# 委托 事件 EventHandler 观察者模式 详解,以及和java的比较
- EventHandler
- 加密
- SQL 不常用的一些命令sp_OACreate,xp_cmdshell,sp_makewebtask
- 玩过的游戏
- 字符集和字符编码
- Android开发(8)--Android中DOM解析xml文件
- EventHandler和Timer添加事件操作
- source Insight移植配置
- 写个c++小程序根据配置文件对注册表进行修改
- 排序 - 插入排序 [1 - 直接插入排序]
- Android开发(9)--数据存储与访问
- 关于expat第三方源码生成静态库并被其他程序加载的总结
- webbug 编码字符集一直都是gbk
- Android开发(10)使用SQLiteDatabase操作SQLite数据库实现增删改查(源码)
- object-c 单例模式(包括ARC)